@travelswitchhq/flight-search-react 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -8,31 +8,36 @@ import { JSEncrypt } from "jsencrypt";
8
8
 
9
9
  // src/flight-search-widget.styles.ts
10
10
  var flightSearchWidgetStyles = `
11
- :root {
12
- --font-family: Montserrat, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
13
- --ar-font-family: Arial, sans-serif;
14
- --label-color: #66797F;
15
- --body-text: #0B1215;
16
- --btn-radius: 8px;
17
- --radius: 12px;
18
- --primary-btn: #2C0A82;
19
- --primary-button-text: #ffffff;
20
- --button-primary-border: #2C0A82;
21
- --form-border: #d8dcde;
22
- --white: #ffffff;
23
- --gray: #999;
24
- --widget-bg: #f5f5f8;
25
- --widget-font-size: 1.4rem;
26
- --widget-z-index-base: 1000;
27
- --widget-transition: all 0.2s ease;
28
- --widget-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
29
- --widget-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.15);
30
- --grid-gap-sm: 2px;
31
- --grid-gap-md: 10px;
32
- --grid-gap-lg: 20px;
33
- --flex-gap-sm: 5px;
34
- --flex-gap-md: 15px;
35
- --flex-gap-lg: 20px;
11
+ .sw-container {
12
+ --sw-font-family: Montserrat, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
13
+ --sw-en-font-family: Arial, sans-serif;
14
+ --sw-label-color: #66797F;
15
+ --sw-body-text: #0B1215;
16
+ --sw-btn-radius: 8px;
17
+ --sw-radius: var(--sw-size-md-1);
18
+ --sw-primary-btn: var(--primary);
19
+ --sw-primary-button-text: #ffffff;
20
+ --sw-button-primary-border: var(--primary);
21
+ --sw-form-border: #d8dcde;
22
+ --sw-white: #ffffff;
23
+ --sw-gray: #999;
24
+ --sw-error: #f60b0b;
25
+ --sw-widget-bg: #f5f5f8;
26
+ --sw-widget-font-size: 1.4rem;
27
+ --sw-widget-z-index-base: 1000;
28
+ --sw-widget-transition: all 0.2s ease;
29
+ --sw-widget-shadow: 0 var(--sw-size-sm) 8px rgba(0, 0, 0, 0.1);
30
+ --sw-widget-shadow-hover: 0 4px var(--sw-size-md-1) rgba(0, 0, 0, 0.15);
31
+ --sw-space-sm: 2px;
32
+ --sw-space-md: 10px;
33
+ --sw-space-lg: 20px;
34
+ --sw-size-sm: 2px;
35
+ --sw-size-md: 10px;
36
+ --sw-size-md-1: 12px;
37
+ --sw-size-md-2: 14px;
38
+ --sw-size-md-3: 16px;
39
+ --sw-size-md-4: 18px;
40
+ --sw-size-lg: 20px;
36
41
  }
37
42
  .sw-container {
38
43
  contain: layout;
@@ -43,15 +48,15 @@ var flightSearchWidgetStyles = `
43
48
  margin: 0;
44
49
  padding: 0;
45
50
  box-sizing: border-box;
46
- color: var(--body-text);
47
- font-family: var(--font-family);
48
- font-size: var(--widget-font-size);
51
+ color: var(--sw-body-text);
52
+ font-family: var(--sw-font-family);
53
+ font-size: var(--sw-widget-font-size);
49
54
  font-weight: 400;
50
55
  line-height: 1.5;
51
56
  -webkit-font-smoothing: antialiased;
52
57
  -moz-osx-font-smoothing: grayscale;
53
58
  -webkit-tap-highlight-color: transparent;
54
- background: var(--widget-bg);
59
+ background: var(--sw-widget-bg);
55
60
  *,
56
61
  *::before,
57
62
  *::after {
@@ -60,7 +65,7 @@ var flightSearchWidgetStyles = `
60
65
  }
61
66
  .sw-container button,
62
67
  .sw-container input {
63
- font-family: var(--font-family);
68
+ font-family: var(--sw-font-family);
64
69
  }
65
70
  .sw-container h1,
66
71
  .sw-container h2,
@@ -72,7 +77,7 @@ var flightSearchWidgetStyles = `
72
77
  display: block;
73
78
  margin: 0;
74
79
  color: inherit;
75
- font-family: var(--font-family);
80
+ font-family: var(--sw-font-family);
76
81
  font-weight: normal;
77
82
  line-height: 1.4;
78
83
  }
@@ -115,7 +120,7 @@ var flightSearchWidgetStyles = `
115
120
  justify-content: space-between;
116
121
  }
117
122
  .sw-container .enFont{
118
- font-family: var(--ar-font-family);
123
+ font-family: var(--sw-en-font-family);
119
124
  }
120
125
  .sw-container .sw-text-ellipsis {
121
126
  display: -webkit-box;
@@ -124,34 +129,35 @@ var flightSearchWidgetStyles = `
124
129
  text-overflow: ellipsis;
125
130
  }
126
131
  .sw-container .sw-text-label {
127
- color: var(--label-color);
132
+ color: var(--sw-label-color);
128
133
  }
129
134
  .sw-booking-form {
130
135
  position: relative;
131
136
  display: grid;
132
137
  grid-template-columns: 1fr repeat(4, minmax(0, 1fr)) minmax(80px, 0.8fr);
133
- gap: var(--grid-gap-sm);
138
+ gap: var(--sw-space-sm);
134
139
  min-height: 55px;
135
140
  min-width: 0;
136
- border-radius: var(--radius);
141
+ border-radius: var(--sw-radius);
137
142
  overflow: visible;
138
143
  }
139
144
  .sw-card-box {
140
145
  position: relative;
141
146
  display: block;
142
147
  padding: 20px;
143
- background-color: var(--white);
144
- border-radius: var(--radius);
148
+ background-color: var(--sw-white);
149
+ border-radius: var(--sw-radius);
150
+ }
151
+ .sw-card-box .br-right{
152
+ border-top-right-radius: var(--sw-radius);
153
+ border-bottom-right-radius: var(--sw-radius);
145
154
  }
146
- body[dir="ltr"] .sw-card-box .br-right,
147
- body[dir="rtl"] .sw-card-box .br-left{
148
- border-top-right-radius: var(--radius);
149
- border-bottom-right-radius: var(--radius);
155
+ .sw-card-box .br-left{
156
+ border-top-left-radius: var(--sw-radius);
157
+ border-bottom-left-radius: var(--sw-radius);
150
158
  }
151
- body[dir="rtl"] .sw-card-box .br-right,
152
- body[dir="ltr"] .sw-card-box .br-left{
153
- border-top-left-radius: var(--radius);
154
- border-bottom-left-radius: var(--radius);
159
+ .sw-com-cal .p-disabled{
160
+ opacity: 0.3;
155
161
  }
156
162
  .sw-form-field {
157
163
  display: flex;
@@ -173,11 +179,12 @@ body[dir="ltr"] .sw-card-box .br-left{
173
179
  padding: 0;
174
180
  overflow: hidden;
175
181
  white-space: nowrap;
176
- color: var(--label-color);
182
+ color: var(--sw-label-color);
177
183
  font-size: 12px;
178
184
  font-weight: 500;
179
185
  -webkit-box-orient: vertical;
180
186
  text-overflow: ellipsis;
187
+ text-align: initial;
181
188
  }
182
189
  .p-button-label {
183
190
  flex: unset;
@@ -193,13 +200,13 @@ body[dir="ltr"] .sw-card-box .br-left{
193
200
  outline: none;
194
201
  background: transparent;
195
202
  box-shadow: none;
196
- color: var(--body-text);
203
+ color: var(--sw-body-text);
197
204
  font-size: 14px;
198
205
  font-weight: 500;
199
206
  }
200
207
  .sw-form-field input::placeholder,
201
208
  .sw-form-field .p-inputtext::placeholder {
202
- color: var(--label-color) !important;
209
+ color: var(--sw-label-color) !important;
203
210
  }
204
211
  .sw-form-swap {
205
212
  position: absolute;
@@ -210,7 +217,7 @@ body[dir="ltr"] .sw-card-box .br-left{
210
217
  align-items: center;
211
218
  justify-content: center;
212
219
  padding: 3px;
213
- border: 1px solid var(--form-border);
220
+ border: 1px solid var(--sw-form-border);
214
221
  border-radius: 50%;
215
222
  background-color: #fff;
216
223
  cursor: pointer;
@@ -236,16 +243,16 @@ padding-inline-start: 25px;
236
243
  outline: none;
237
244
  background: transparent;
238
245
  cursor: pointer;
239
- color: var(--body-text);
246
+ color: var(--sw-body-text);
240
247
  font-size: 14px;
241
248
  font-weight: 500;
242
249
  }
243
250
  .sw-custom-dropdown-trigger .sw-placeholder {
244
- color: var(--label-color);
251
+ color: var(--sw-label-color);
245
252
  }
246
253
  .sw-dropdown-arrow {
247
254
  margin-left: 8px;
248
- color: var(--label-color);
255
+ color: var(--sw-label-color);
249
256
  font-size: 10px;
250
257
  transition: transform 0.2s ease;
251
258
  }
@@ -254,7 +261,7 @@ padding-inline-start: 25px;
254
261
  top: calc(100% + 5px);
255
262
  left: 0;
256
263
  right: 0;
257
- z-index: calc(var(--widget-z-index-base) + 5);
264
+ z-index: calc(var(--sw-widget-z-index-base) + 5);
258
265
  display: block;
259
266
  visibility: visible;
260
267
  opacity: 1;
@@ -267,10 +274,10 @@ padding-inline-start: 25px;
267
274
  padding: 0;
268
275
  overflow: auto;
269
276
  overflow-x: hidden;
270
- background: var(--white);
271
- border: 1px solid var(--form-border);
272
- border-radius: var(--radius);
273
- box-shadow: var(--widget-shadow);
277
+ background: var(--sw-white);
278
+ border: 1px solid var(--sw-form-border);
279
+ border-radius: var(--sw-radius);
280
+ box-shadow: var(--sw-widget-shadow);
274
281
  }
275
282
  .sw-dropdown::-webkit-scrollbar {
276
283
  display: none;
@@ -284,7 +291,7 @@ padding-inline-start: 25px;
284
291
  margin: 0 20px;
285
292
  padding: 10px 0;
286
293
  cursor: pointer;
287
- font-family: var(--font-family);
294
+ font-family: var(--sw-font-family);
288
295
  }
289
296
  .p-autocomplete-item{
290
297
  font-size: 14px;
@@ -323,7 +330,7 @@ padding-inline-start: 25px;
323
330
  margin: 0;
324
331
  padding: 0;
325
332
  cursor: pointer;
326
- color: var(--body-text);
333
+ color: var(--sw-body-text);
327
334
  font-size: 14px;
328
335
  transition: background-color 0.2s ease;
329
336
  }
@@ -343,26 +350,26 @@ padding-inline-start: 25px;
343
350
  background-color: var(--secondary-light);
344
351
  }
345
352
  .sw-custom-dropdown-item:first-child {
346
- border-top-left-radius: var(--btn-radius);
347
- border-top-right-radius: var(--btn-radius);
353
+ border-top-left-radius: var(--sw-btn-radius);
354
+ border-top-right-radius: var(--sw-btn-radius);
348
355
  }
349
356
  .sw-custom-dropdown-item:last-child {
350
- border-bottom-left-radius: var(--btn-radius);
351
- border-bottom-right-radius: var(--btn-radius);
357
+ border-bottom-left-radius: var(--sw-btn-radius);
358
+ border-bottom-right-radius: var(--sw-btn-radius);
352
359
  }
353
360
  .sw-rooms-guests-menu {
354
361
  position: absolute;
355
362
  top: 100%;
356
363
  right: 0;
357
- z-index: var(--widget-z-index-base);
364
+ z-index: var(--sw-widget-z-index-base);
358
365
  display: block;
359
366
  width: 75%;
360
367
  margin-top: 4px;
361
368
  padding: 20px;
362
- background: var(--white);
363
- border: 1px solid var(--form-border);
364
- border-radius: var(--radius);
365
- box-shadow: var(--widget-shadow);
369
+ background: var(--sw-white);
370
+ border: 1px solid var(--sw-form-border);
371
+ border-radius: var(--sw-radius);
372
+ box-shadow: var(--sw-widget-shadow);
366
373
  }
367
374
  .sw-pos-rel {
368
375
  position: relative;
@@ -395,29 +402,29 @@ padding-inline-start: 25px;
395
402
  .sw-room-controls-child {
396
403
  display: grid;
397
404
  grid-template-columns: repeat(4, minmax(0, 1fr));
398
- gap: var(--grid-gap-lg);
405
+ gap: var(--sw-space-lg);
399
406
  min-width: 0;
400
407
  }
401
408
  .sw-room-controls-child .p-dropdown {
402
409
  padding: 10px;
403
- border: 1px solid var(--form-border);
404
- border-radius: var(--radius);
410
+ border: 1px solid var(--sw-form-border);
411
+ border-radius: var(--sw-radius);
405
412
  }
406
413
  .sw-room-controls-child .p-dropdown-item {
407
414
  padding: 10px;
408
415
  font-size: 14px;
409
416
  }
410
417
  .sw-room-controls-child .p-dropdown-panel {
411
- background: var(--white);
412
- border: 1px solid var(--form-border);
413
- border-radius: var(--btn-radius);
418
+ background: var(--sw-white);
419
+ border: 1px solid var(--sw-form-border);
420
+ border-radius: var(--sw-btn-radius);
414
421
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
415
422
  }
416
423
  .sw-room-controls-group {
417
424
  display: grid;
418
425
  grid-template-columns: repeat(2, minmax(0, 1fr));
419
426
  justify-content: center;
420
- gap: var(--grid-gap-md);
427
+ gap: var(--sw-space-md);
421
428
  min-width: 0;
422
429
  }
423
430
  .sw-room-control-item {
@@ -425,11 +432,11 @@ padding-inline-start: 25px;
425
432
  flex-direction: column;
426
433
  flex: 1 1 auto;
427
434
  justify-content: space-between;
428
- gap: var(--flex-gap-sm);
435
+ gap: var(--sw-space-sm);
429
436
  min-width: 0;
430
437
  }
431
438
  .sw-room-control-label {
432
- color: var(--body-text);
439
+ color: var(--sw-body-text);
433
440
  font-size: 14px;
434
441
  font-weight: 400;
435
442
  }
@@ -451,19 +458,13 @@ padding-inline-start: 25px;
451
458
  border-radius: 50%;
452
459
  background: var(--primary);
453
460
  cursor: pointer;
454
- color: var(--white);
461
+ color: var(--sw-white);
455
462
  font-size: 20px;
456
463
  font-weight: 500;
457
- transition: var(--widget-transition);
464
+ transition: var(--sw-widget-transition);
458
465
  }
459
466
  .sw-count-button:focus-visible {
460
- outline: 2px solid var(--primary);
461
- outline-offset: 2px;
462
- }
463
- .sw-count-button:hover:not(:disabled) {
464
- background: var(--primary-btn);
465
- opacity: 0.9;
466
- transform: scale(1.05);
467
+ outline: none;
467
468
  }
468
469
  .sw-count-button.sw-disabled {
469
470
  opacity: 0.6;
@@ -475,7 +476,7 @@ padding-inline-start: 25px;
475
476
  .sw-count-value {
476
477
  min-width: 30px;
477
478
  text-align: center;
478
- color: var(--body-text);
479
+ color: var(--sw-body-text);
479
480
  font-size: 16px;
480
481
  font-weight: 500;
481
482
  }
@@ -488,7 +489,7 @@ padding-inline-start: 25px;
488
489
  margin: 0 !important;
489
490
  padding: 1rem;
490
491
  border: 1px solid var(--primary);
491
- border-radius: var(--radius);
492
+ border-radius: var(--sw-radius);
492
493
  background-color: transparent;
493
494
  cursor: pointer;
494
495
  color: var(--primary);
@@ -505,12 +506,12 @@ padding-inline-start: 25px;
505
506
  gap: 10px;
506
507
  margin-top: 15px;
507
508
  padding-top: 15px;
508
- border-top: 1px solid var(--form-border);
509
+ border-top: 1px solid var(--sw-form-border);
509
510
  }
510
511
  .sw-reset-button {
511
512
  padding: 10px 20px;
512
513
  border: 1px solid var(--primary);
513
- border-radius: var(--btn-radius);
514
+ border-radius: var(--sw-btn-radius);
514
515
  background: transparent;
515
516
  cursor: pointer;
516
517
  color: var(--primary);
@@ -518,24 +519,17 @@ padding-inline-start: 25px;
518
519
  font-weight: 500;
519
520
  transition: all 0.2s ease;
520
521
  }
521
- .sw-reset-button:hover {
522
- background: var(--primary-light);
523
- }
524
522
  .sw-apply-button {
525
523
  padding: 10px 20px;
526
- border: 1px solid var(--button-primary-border);
527
- border-radius: var(--btn-radius);
528
- background: var(--primary-btn);
524
+ border: 1px solid var(--sw-button-primary-border);
525
+ border-radius: var(--sw-btn-radius);
526
+ background: var(--sw-primary-btn);
529
527
  cursor: pointer;
530
- color: var(--primary-button-text);
528
+ color: var(--sw-primary-button-text);
531
529
  font-size: 14px;
532
530
  font-weight: 500;
533
531
  transition: all 0.2s ease;
534
532
  }
535
- .sw-apply-button:hover {
536
- opacity: 0.9;
537
- background: var(--primary);
538
- }
539
533
  .sw-search-button,
540
534
  .sw-search-button.p-button {
541
535
  display: flex;
@@ -547,25 +541,19 @@ padding-inline-start: 25px;
547
541
  min-height: 56px;
548
542
  margin: 0;
549
543
  padding: 0 15px;
550
- border: 1px solid var(--button-primary-border);
551
- background-color: var(--primary-btn);
544
+ border: 1px solid var(--sw-button-primary-border);
545
+ background-color: var(--sw-primary-btn);
552
546
  cursor: pointer;
553
- color: var(--primary-button-text);
547
+ color: var(--sw-primary-button-text);
554
548
  font-size: 16px;
555
549
  font-weight: 400;
556
- transition: var(--widget-transition);
550
+ transition: var(--sw-widget-transition);
557
551
  }
558
552
  .sw-search-button:focus-visible,
559
553
  .sw-search-button.p-button:focus-visible {
560
554
  outline: 2px solid var(--primary);
561
555
  outline-offset: 2px;
562
556
  }
563
- .sw-search-button:hover:not(:disabled),
564
- .sw-search-button.p-button:hover:not(:disabled) {
565
- background-color: var(--primary);
566
- opacity: 0.9;
567
- box-shadow: var(--widget-shadow-hover);
568
- }
569
557
  .sw-search-button .p-button-icon-left {
570
558
  margin: 0;
571
559
  }
@@ -579,17 +567,17 @@ padding-inline-start: 25px;
579
567
  min-width: 100%;
580
568
  margin-top: 5px !important;
581
569
  padding: 15px;
582
- background-color: var(--white);
583
- border: 1px solid var(--form-border);
584
- border-radius: var(--radius);
585
- box-shadow: var(--widget-shadow);
570
+ background-color: var(--sw-white);
571
+ border: 1px solid var(--sw-form-border);
572
+ border-radius: var(--sw-radius);
573
+ box-shadow: var(--sw-widget-shadow);
586
574
  }
587
575
  .sw-srh-wrap {
588
576
  display: flex;
589
577
  gap: 2px;
590
578
  }
591
579
  .sw-com-cal p{
592
- color: var(--body-text);
580
+ color: var(--sw-body-text);
593
581
  font-size: 14px;
594
582
  font-weight: 500;
595
583
  }
@@ -624,10 +612,10 @@ padding-inline-start: 25px;
624
612
  margin: 0;
625
613
  padding: 0 5px;
626
614
  border: 0;
627
- border-color: var(--white);
615
+ border-color: var(--sw-white);
628
616
  outline: none;
629
617
  background: transparent;
630
- color: var(--body-text);
618
+ color: var(--sw-body-text);
631
619
  font-size: 16px;
632
620
  font-weight: 500;
633
621
  line-height: 20px;
@@ -640,18 +628,18 @@ padding-inline-start: 25px;
640
628
  }
641
629
  .p-datepicker .p-datepicker-header button {
642
630
  border: 0;
643
- border-color: var(--white);
631
+ border-color: var(--sw-white);
644
632
  outline: none;
645
633
  box-shadow: none !important;
646
634
  background: transparent;
647
- color: var(--body-text);
635
+ color: var(--sw-body-text);
648
636
  font-size: 16px;
649
637
  font-weight: 500;
650
638
  line-height: 20px;
651
639
  }
652
640
  .p-datepicker .p-datepicker-calendar-container th {
653
641
  padding: 10px 0;
654
- color: var(--body-text);
642
+ color: var(--sw-body-text);
655
643
  font-size: 14px;
656
644
  font-weight: 400;
657
645
  line-height: 1.4;
@@ -667,7 +655,7 @@ padding-inline-start: 25px;
667
655
  height: 45px;
668
656
  }
669
657
  .p-datepicker-group-container .p-datepicker-group:not(:last-child) {
670
- border-inline-end: 1px solid var(--form-border);
658
+ border-inline-end: 1px solid var(--sw-form-border);
671
659
  padding-inline-end: 10px;
672
660
  margin-inline-end: 10px;
673
661
  }
@@ -677,7 +665,7 @@ padding-inline-start: 25px;
677
665
  .p-datepicker .p-highlight {
678
666
  position: relative;
679
667
  background: var(--primary) !important;
680
- color: var(--white) !important;
668
+ color: var(--sw-white) !important;
681
669
  }
682
670
  .sw-product-tabs {
683
671
  position: relative;
@@ -718,7 +706,7 @@ padding-inline-start: 25px;
718
706
  gap: 10px;
719
707
  width: fit-content;
720
708
  margin-top: 15px;
721
- color: var(--body-text);
709
+ color: var(--sw-body-text);
722
710
  font-size: 14px;
723
711
  }
724
712
  .sw-advanced-search-options .p-toggleable-content {
@@ -739,7 +727,7 @@ padding-inline-start: 25px;
739
727
  gap: 10px;
740
728
  cursor: pointer;
741
729
  user-select: none;
742
- color: var(--body-text);
730
+ color: var(--sw-body-text);
743
731
  font-size: 14px;
744
732
  }
745
733
  .sw-material-checkbox input {
@@ -768,7 +756,7 @@ padding-inline-start: 25px;
768
756
  min-width: 20px;
769
757
  height: 20px;
770
758
  background-color: #fff;
771
- border: 1px solid var(--form-border);
759
+ border: 1px solid var(--sw-form-border);
772
760
  border-radius: 4px;
773
761
  transition: background-color 0.3s, border-color 0.3s;
774
762
  }
@@ -795,8 +783,8 @@ padding-inline-start: 25px;
795
783
  .sw-tab-content {
796
784
  height: 40px;
797
785
  padding: 6px 15px;
798
- border: 1px solid var(--form-border);
799
- border-radius: var(--radius);
786
+ border: 1px solid var(--sw-form-border);
787
+ border-radius: var(--sw-radius);
800
788
  align-content: center;
801
789
  }
802
790
  @media print {
@@ -828,9 +816,9 @@ padding-inline-start: 25px;
828
816
  .sw-srh-grid {
829
817
  display: grid;
830
818
  grid-template-columns: minmax(200px, 2fr) minmax(100px, 1fr) minmax(80px, 0.6fr) minmax(60px, 0.4fr);
831
- gap: var(--grid-gap-sm, 2px);
819
+ gap: var(--sw-space-sm, 2px);
832
820
  margin-top: 15px;
833
- border-radius: var(--radius);
821
+ border-radius: var(--sw-radius);
834
822
  min-width: 0;
835
823
  overflow: visible;
836
824
  }
@@ -881,7 +869,7 @@ padding-inline-start: 25px;
881
869
  position: relative;
882
870
  }
883
871
  .sw-srh-mc {
884
- grid-template-columns: 6.3fr 2.5fr 1.15fr !important;
872
+ grid-template-columns: 43% 20% 25% 11.5% !important;
885
873
  min-width: 0;
886
874
  }
887
875
  .sw-srh-mc .sw-com-cal .p-inputtext{
@@ -896,7 +884,7 @@ padding-inline-start: 25px;
896
884
  display: flex;
897
885
  align-items: flex-end;
898
886
  width: fit-content;
899
- grid-column-start: 2;
887
+ grid-column-start: 3;
900
888
  }
901
889
  .sw-srh-mc .sw-srh-mc-foot button {
902
890
  display: flex;
@@ -924,12 +912,12 @@ padding-inline-start: 25px;
924
912
  font-size: 1.4rem;
925
913
  }
926
914
  .sw-srh-mc .sw-traveller {
927
- grid-row-start: 1;
928
- grid-column-start: 2;
915
+ grid-row-start: 1;
916
+ grid-column-start: 3;
929
917
  }
930
918
  .sw-srh-mc button {
931
- grid-row-start: 1;
932
- grid-column-start: 3;
919
+ grid-row-start: 1;
920
+ grid-column-start: 4;
933
921
  }
934
922
  .sw-srh-box {
935
923
  grid-column-start: 1;
@@ -939,8 +927,8 @@ padding-inline-start: 25px;
939
927
  min-width: 270px;
940
928
  padding: 10px;
941
929
  padding-inline-end: 2rem;
942
- border: 1px solid var(--form-border);
943
- border-radius: var(--radius);
930
+ border: 1px solid var(--sw-form-border);
931
+ border-radius: var(--sw-radius);
944
932
  gap: 0.5rem;
945
933
  font-size: 14px;
946
934
  }
@@ -981,7 +969,7 @@ padding-inline-start: 25px;
981
969
  font-size: 14px;
982
970
  }
983
971
  .sw-srh-pax p {
984
- color: var(--label-color);
972
+ color: var(--sw-label-color);
985
973
  font-size: 12px;
986
974
  }
987
975
  .sw-srh-button-wrapper button {
@@ -997,15 +985,15 @@ padding-inline-start: 25px;
997
985
  }
998
986
  .sw-srh-button-wrapper button.sw-active-button {
999
987
  background-color: var(--secondary);
1000
- color: var(--white);
988
+ color: var(--sw-white);
1001
989
  }
1002
990
  .sw-traveller .sw-rooms-guests-menu {
1003
- width: 460px;
991
+ width: 500px;
1004
992
  }
1005
993
  .sw-srh-class {
1006
994
  display: flex;
1007
995
  flex-wrap: wrap;
1008
- gap: var(--flex-gap-md, 10px);
996
+ gap: var(--sw-space-md, 10px);
1009
997
  align-items: stretch;
1010
998
  }
1011
999
  .sw-srh-class .sw-tab-content {
@@ -1018,22 +1006,22 @@ padding-inline-start: 25px;
1018
1006
  .sw-srh-class .sw-tab-checkbox input:checked + .sw-tab-content,
1019
1007
  .sw-srh-class .sw-tab-checkbox input[type=radio]:checked + .sw-tab-content {
1020
1008
  background-color: var(--primary);
1021
- color: var(--white);
1009
+ color: var(--sw-white);
1022
1010
  }
1023
1011
  .sw-srh-h-grid {
1024
1012
  position: relative;
1025
1013
  display: grid;
1026
1014
  grid-template-columns: 2.2fr 1.8fr 3fr 1.8fr 1.15fr;
1027
- gap: var(--grid-gap-sm, 2px);
1015
+ gap: var(--sw-space-sm, 2px);
1028
1016
  min-height: 55px;
1029
1017
  min-width: 0;
1030
1018
  overflow: visible;
1031
- border-radius: var(--radius);
1019
+ border-radius: var(--sw-radius);
1032
1020
  }
1033
1021
  .sw-srh-loc {
1034
1022
  display: block !important;
1035
1023
  padding: 15px 0 12px;
1036
- border-bottom: 1px solid var(--form-border);
1024
+ border-bottom: 1px solid var(--sw-form-border);
1037
1025
  }
1038
1026
  .sw-srh-count-wrapper,
1039
1027
  .sw-srh-loc {
@@ -1049,7 +1037,7 @@ padding-inline-start: 25px;
1049
1037
  width: 40px;
1050
1038
  height: 40px;
1051
1039
  background: #f4f5f5;
1052
- border-radius: var(--radius);
1040
+ border-radius: var(--sw-radius);
1053
1041
  }
1054
1042
  .sw-hotel-search-form-icon.sw-fill {
1055
1043
  background: var(--primary-light);
@@ -1080,7 +1068,7 @@ padding-inline-start: 25px;
1080
1068
  align-items: center;
1081
1069
  gap: 5px;
1082
1070
  padding: 8px 12px;
1083
- border: 1px solid var(--form-border);
1071
+ border: 1px solid var(--sw-form-border);
1084
1072
  border-radius: 20px;
1085
1073
  font-size: 14px;
1086
1074
  line-height: 1;
@@ -1097,7 +1085,7 @@ padding-inline-start: 25px;
1097
1085
  }
1098
1086
  .sw-hsrh-chk-main {
1099
1087
  display: flex;
1100
- gap: var(--flex-gap-md, 10px);
1088
+ gap: var(--sw-space-md, 10px);
1101
1089
  font-size: 1.4rem;
1102
1090
  font-weight: 400;
1103
1091
  flex-wrap: wrap;
@@ -1105,7 +1093,7 @@ padding-inline-start: 25px;
1105
1093
  .sw-srh-class {
1106
1094
  display: flex;
1107
1095
  flex-wrap: wrap;
1108
- gap: var(--flex-gap-md, 10px);
1096
+ gap: var(--sw-space-md, 10px);
1109
1097
  align-items: stretch;
1110
1098
  }
1111
1099
  .sw-srh-class .sw-tab-content {
@@ -1245,10 +1233,11 @@ function FlightSearchWidget({
1245
1233
  const [airlineQuery, setAirlineQuery] = useState("");
1246
1234
  const [airlineSuggestions, setAirlineSuggestions] = useState([]);
1247
1235
  const [selectedAirlines, setSelectedAirlines] = useState([]);
1236
+ const [airlineLimitError, setAirlineLimitError] = useState(null);
1248
1237
  const [validationErrors, setValidationErrors] = useState({});
1249
1238
  const createDefaultSegment = () => ({
1250
- origin: "Origin",
1251
- destination: "Destination",
1239
+ origin: "",
1240
+ destination: "",
1252
1241
  departureDate: /* @__PURE__ */ new Date(),
1253
1242
  returnDate: new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + 1)),
1254
1243
  dateRange: [/* @__PURE__ */ new Date(), new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + 1))],
@@ -1260,8 +1249,8 @@ function FlightSearchWidget({
1260
1249
  const [formState, setFormState] = useState(() => ({
1261
1250
  tripType: "round-trip",
1262
1251
  segments: [{
1263
- origin: "Origin",
1264
- destination: "Destination",
1252
+ origin: "",
1253
+ destination: "",
1265
1254
  departureDate: /* @__PURE__ */ new Date(),
1266
1255
  returnDate: new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + 1)),
1267
1256
  dateRange: [/* @__PURE__ */ new Date(), new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + 1))],
@@ -1382,7 +1371,16 @@ function FlightSearchWidget({
1382
1371
  const updated = [...prev];
1383
1372
  if (!updated[segmentIndex]) return prev;
1384
1373
  if (dropdownType === "origin") updated[segmentIndex] = { ...updated[segmentIndex], origin: display };
1385
- else updated[segmentIndex] = { ...updated[segmentIndex], destination: display };
1374
+ else {
1375
+ updated[segmentIndex] = { ...updated[segmentIndex], destination: display };
1376
+ if (tripType === "multi-city" || tripType === "custom-search") {
1377
+ const nextIndex = segmentIndex + 1;
1378
+ const nextSeg = updated[nextIndex];
1379
+ if (nextSeg) {
1380
+ updated[nextIndex] = { ...nextSeg, origin: display };
1381
+ }
1382
+ }
1383
+ }
1386
1384
  return updated;
1387
1385
  });
1388
1386
  closeAirportDropdown(dropdownType, segmentIndex);
@@ -1532,12 +1530,14 @@ function FlightSearchWidget({
1532
1530
  if (tripType === "multi-city" || tripType === "custom-search") {
1533
1531
  setSegments((prev) => {
1534
1532
  const maxSegments = getMaxSegments();
1533
+ const baseDate = prev[0]?.departureDate;
1534
+ const fallbackDate = baseDate instanceof Date && !isNaN(baseDate.getTime()) ? baseDate : /* @__PURE__ */ new Date();
1535
1535
  if (prev.length === 0) {
1536
1536
  const first = createDefaultSegment();
1537
1537
  const second = {
1538
- origin: "Origin",
1539
- destination: "Destination",
1540
- departureDate: /* @__PURE__ */ new Date(),
1538
+ origin: "",
1539
+ destination: "",
1540
+ departureDate: fallbackDate,
1541
1541
  returnDate: null,
1542
1542
  dateRange: null,
1543
1543
  travelerClass: first.travelerClass,
@@ -1550,9 +1550,9 @@ function FlightSearchWidget({
1550
1550
  if (prev.length === 1) {
1551
1551
  const first = prev[0];
1552
1552
  const second = {
1553
- origin: "Origin",
1554
- destination: "Destination",
1555
- departureDate: /* @__PURE__ */ new Date(),
1553
+ origin: "",
1554
+ destination: "",
1555
+ departureDate: fallbackDate,
1556
1556
  returnDate: null,
1557
1557
  dateRange: null,
1558
1558
  travelerClass: first.travelerClass,
@@ -1578,15 +1578,41 @@ function FlightSearchWidget({
1578
1578
  const trimmed = value.trim();
1579
1579
  return trimmed.length > 0 && trimmed !== placeholder;
1580
1580
  };
1581
+ const normalizeMultiCityDates = (list) => {
1582
+ let prevDate = null;
1583
+ return list.map((segment, idx) => {
1584
+ const current = segment.departureDate;
1585
+ let nextDate = current;
1586
+ const currentValid = current instanceof Date && !isNaN(current.getTime());
1587
+ const prevValid = prevDate instanceof Date && !isNaN(prevDate.getTime());
1588
+ if (prevValid && (!currentValid || current.getTime() < prevDate.getTime())) {
1589
+ nextDate = prevDate;
1590
+ }
1591
+ const nextSegment = nextDate === segment.departureDate ? segment : { ...segment, departureDate: nextDate };
1592
+ if (nextDate instanceof Date && !isNaN(nextDate.getTime())) {
1593
+ prevDate = nextDate;
1594
+ } else if (idx === 0) {
1595
+ prevDate = null;
1596
+ }
1597
+ return nextSegment;
1598
+ });
1599
+ };
1600
+ const getLastValidDepartureDate = (list) => {
1601
+ for (let i = list.length - 1; i >= 0; i -= 1) {
1602
+ const date = list[i]?.departureDate;
1603
+ if (date instanceof Date && !isNaN(date.getTime())) {
1604
+ return date;
1605
+ }
1606
+ }
1607
+ return null;
1608
+ };
1581
1609
  const handleSegmentFieldChange = (index, field, value) => {
1582
1610
  setSegments((prev) => {
1583
1611
  const updated = [...prev];
1584
1612
  if (!updated[index]) return prev;
1585
1613
  updated[index] = { ...updated[index], [field]: value };
1586
- if (field === "departureDate" && (tripType === "multi-city" || tripType === "custom-search") && value instanceof Date && !isNaN(value.getTime())) {
1587
- for (let i = index + 1; i < updated.length; i += 1) {
1588
- updated[i] = { ...updated[i], departureDate: value };
1589
- }
1614
+ if (field === "departureDate" && (tripType === "multi-city" || tripType === "custom-search")) {
1615
+ return normalizeMultiCityDates(updated);
1590
1616
  }
1591
1617
  return updated;
1592
1618
  });
@@ -1621,16 +1647,26 @@ function FlightSearchWidget({
1621
1647
  }
1622
1648
  }));
1623
1649
  };
1650
+ const swapSegmentLocations = (index) => {
1651
+ setSegments((prev) => {
1652
+ const updated = [...prev];
1653
+ const current = updated[index];
1654
+ if (!current) return prev;
1655
+ updated[index] = { ...current, origin: current.destination, destination: current.origin };
1656
+ return updated;
1657
+ });
1658
+ };
1624
1659
  const addFlightSegment = () => {
1625
1660
  const maxSegments = getMaxSegments();
1626
1661
  if (segments.length < maxSegments) {
1627
1662
  const template = segments[0] ?? createDefaultSegment();
1663
+ const lastDeparture = getLastValidDepartureDate(segments) ?? /* @__PURE__ */ new Date();
1628
1664
  setSegments((prev) => [
1629
1665
  ...prev,
1630
1666
  {
1631
- origin: "Origin",
1632
- destination: "Destination",
1633
- departureDate: /* @__PURE__ */ new Date(),
1667
+ origin: "",
1668
+ destination: "",
1669
+ departureDate: lastDeparture,
1634
1670
  returnDate: null,
1635
1671
  dateRange: null,
1636
1672
  travelerClass: template.travelerClass,
@@ -1832,7 +1868,11 @@ function FlightSearchWidget({
1832
1868
  className: `sw-custom-dropdown-trigger ${value === placeholder || !value ? "sw-placeholder" : ""}`,
1833
1869
  value: value === placeholder ? "" : value ?? "",
1834
1870
  placeholder,
1835
- onFocus: onOpen,
1871
+ onFocus: (e) => {
1872
+ onOpen();
1873
+ e.currentTarget.select();
1874
+ },
1875
+ onClick: (e) => e.currentTarget.select(),
1836
1876
  onChange: (e) => {
1837
1877
  const val = e.target.value;
1838
1878
  handleSegmentFieldChange(segmentIndex, dropdownType, val);
@@ -1882,44 +1922,49 @@ function FlightSearchWidget({
1882
1922
  };
1883
1923
  const isOriginOpen = segmentDropdowns[index]?.origin ?? false;
1884
1924
  const isDestOpen = segmentDropdowns[index]?.destination ?? false;
1885
- return /* @__PURE__ */ jsxs("div", { className: "sw-srh-wrap sw-srh-box", children: [
1886
- renderAirportDropdown(index, "origin", originDropdownRef || originRef, isOriginOpen, () => toggleSegmentDropdown(index, "origin")),
1887
- renderAirportDropdown(index, "destination", destinationDropdownRef || destinationRef, isDestOpen, () => toggleSegmentDropdown(index, "destination")),
1888
- isMultiCityOrCustom && /* @__PURE__ */ jsx("div", { className: "sw-srh-wrap sw-pos-rel", children: /* @__PURE__ */ jsxs("div", { className: "sw-form-field sw-com-cal", children: [
1889
- /* @__PURE__ */ jsx("label", { htmlFor: `departure-${index}`, children: "Departure" }),
1890
- /* @__PURE__ */ jsx(
1891
- Calendar,
1925
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1926
+ /* @__PURE__ */ jsxs("div", { className: "sw-srh-wrap sw-srh-box sw-pos-rel", children: [
1927
+ renderAirportDropdown(index, "origin", originDropdownRef || originRef, isOriginOpen, () => toggleSegmentDropdown(index, "origin")),
1928
+ /* @__PURE__ */ jsx("div", { className: "sw-form-swap", "aria-label": "Swap origin and destination", onClick: () => swapSegmentLocations(index), children: /* @__PURE__ */ jsx("svg", { width: "30px", height: "30px", fill: "var(--sw-body-text)", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", d: "M14.6403 5.2477a.7483.7483 0 0 1 1.0612.0084l4.0871 4.1684a.7555.7555 0 0 1 .1573.8195.7502.7502 0 0 1-.6921.4623H6.8305c-.4145 0-.7504-.3373-.7504-.7533 0-.4161.336-.7534.7504-.7534h10.6317L14.632 6.3131a.7556.7556 0 0 1 .0083-1.0654ZM9.368 18.8148a.7483.7483 0 0 1-1.0611-.0084l-4.087-4.1684a.7555.7555 0 0 1-.1574-.8195.7503.7503 0 0 1 .6921-.4623H17.178c.4144 0 .7503.3373.7503.7533 0 .4161-.3359.7534-.7503.7534H6.5463l2.8301 2.8865a.7555.7555 0 0 1-.0083 1.0654Z", clipRule: "evenodd" }) }) }),
1929
+ renderAirportDropdown(index, "destination", destinationDropdownRef || destinationRef, isDestOpen, () => toggleSegmentDropdown(index, "destination"))
1930
+ ] }, index),
1931
+ isMultiCityOrCustom && /* @__PURE__ */ jsxs("div", { className: "sw-srh-wrap sw-pos-rel", children: [
1932
+ /* @__PURE__ */ jsxs("div", { className: "sw-form-field sw-com-cal", children: [
1933
+ /* @__PURE__ */ jsx("label", { htmlFor: `departure-${index}`, children: "Departure" }),
1934
+ /* @__PURE__ */ jsx(
1935
+ Calendar,
1936
+ {
1937
+ numberOfMonths: 2,
1938
+ id: `departure-${index}`,
1939
+ appendTo: "self",
1940
+ value: segment.departureDate ?? null,
1941
+ onChange: (e) => {
1942
+ const raw = e.value;
1943
+ const nextDate = raw instanceof Date ? raw : typeof raw === "string" ? new Date(raw) : null;
1944
+ handleSegmentFieldChange(
1945
+ index,
1946
+ "departureDate",
1947
+ nextDate && !isNaN(nextDate.getTime()) ? nextDate : null
1948
+ );
1949
+ },
1950
+ dateFormat: "dd M yy",
1951
+ placeholder: "29 Jan 2026",
1952
+ className: "p-inputtext-sm",
1953
+ minDate: getMinDateForSegment(index)
1954
+ }
1955
+ )
1956
+ ] }),
1957
+ canRemove && /* @__PURE__ */ jsx("div", { className: "sw-srh-wrap", children: /* @__PURE__ */ jsx(
1958
+ "a",
1892
1959
  {
1893
- numberOfMonths: 2,
1894
- id: `departure-${index}`,
1895
- appendTo: "self",
1896
- value: segment.departureDate ?? null,
1897
- onChange: (e) => {
1898
- const raw = e.value;
1899
- const nextDate = raw instanceof Date ? raw : typeof raw === "string" ? new Date(raw) : null;
1900
- handleSegmentFieldChange(
1901
- index,
1902
- "departureDate",
1903
- nextDate && !isNaN(nextDate.getTime()) ? nextDate : null
1904
- );
1905
- },
1906
- dateFormat: "dd M yy",
1907
- placeholder: "29 Jan 2026",
1908
- className: "p-inputtext-sm",
1909
- minDate: getMinDateForSegment(index)
1960
+ type: "button",
1961
+ className: "sw-remove-segment",
1962
+ onClick: () => removeFlightSegment(index),
1963
+ children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 200 200", width: "35", height: "35", xmlns: "http://www.w3.org/2000/svg", role: "presentation", children: /* @__PURE__ */ jsx("path", { d: "M124.697 135.303L100 110.606l-24.697 24.697l-10.606-10.606L89.393 100L64.697 75.303l10.606-10.606L100 89.394l24.697-24.697l10.606 10.606L110.607 100l24.696 24.697z" }) })
1910
1964
  }
1911
- )
1912
- ] }) }),
1913
- canRemove && /* @__PURE__ */ jsx("div", { className: "sw-srh-wrap", children: /* @__PURE__ */ jsx(
1914
- "a",
1915
- {
1916
- type: "button",
1917
- className: "sw-remove-segment",
1918
- onClick: () => removeFlightSegment(index),
1919
- children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 200 200", width: "35", height: "35", xmlns: "http://www.w3.org/2000/svg", role: "presentation", children: /* @__PURE__ */ jsx("path", { d: "M124.697 135.303L100 110.606l-24.697 24.697l-10.606-10.606L89.393 100L64.697 75.303l10.606-10.606L100 89.394l24.697-24.697l10.606 10.606L110.607 100l24.696 24.697z" }) })
1920
- }
1921
- ) })
1922
- ] }, index);
1965
+ ) })
1966
+ ] })
1967
+ ] });
1923
1968
  };
1924
1969
  return /* @__PURE__ */ jsx(PrimeReactProvider, { value: { hideOverlaysOnDocumentScrolling: false }, children: /* @__PURE__ */ jsx("div", { className: "tfsw-root sw-container", style: themeStyle, children: /* @__PURE__ */ jsxs("div", { className: "sw-card-box", children: [
1925
1970
  /* @__PURE__ */ jsx("div", { className: "sw-srh-main-head", children: /* @__PURE__ */ jsx("div", { className: "sw-srh-head", children: /* @__PURE__ */ jsx("div", { className: "sw-srh-round-text", children: [
@@ -1941,8 +1986,17 @@ function FlightSearchWidget({
1941
1986
  /* @__PURE__ */ jsx("h5", { className: "sw-tab-content", children: option.label })
1942
1987
  ] }, option.value)) }) }) }),
1943
1988
  /* @__PURE__ */ jsxs("form", { className: `sw-srh-grid ${tripType === "multi-city" || tripType === "custom-search" ? "sw-srh-mc" : ""}`, onSubmit: handleSubmit, children: [
1944
- tripType === "multi-city" || tripType === "custom-search" ? segments.map((segment, index) => renderFlightSegment(index, segment, true)) : /* @__PURE__ */ jsxs("div", { className: "sw-srh-wrap sw-srh-box", children: [
1989
+ tripType === "multi-city" || tripType === "custom-search" ? segments.map((segment, index) => renderFlightSegment(index, segment, true)) : /* @__PURE__ */ jsxs("div", { className: "sw-srh-wrap sw-srh-box sw-pos-rel", children: [
1945
1990
  renderAirportDropdown(0, "origin", originDropdownRef, isOriginDropdownOpen, () => setIsOriginDropdownOpen(true)),
1991
+ /* @__PURE__ */ jsx(
1992
+ "div",
1993
+ {
1994
+ className: "sw-form-swap",
1995
+ "aria-label": "Swap origin and destination",
1996
+ onClick: () => swapSegmentLocations(0),
1997
+ children: /* @__PURE__ */ jsx("svg", { width: "30px", height: "30px", fill: "var(--body-text)", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx("path", { "fill-rule": "evenodd", d: "M14.6403 5.2477a.7483.7483 0 0 1 1.0612.0084l4.0871 4.1684a.7555.7555 0 0 1 .1573.8195.7502.7502 0 0 1-.6921.4623H6.8305c-.4145 0-.7504-.3373-.7504-.7533 0-.4161.336-.7534.7504-.7534h10.6317L14.632 6.3131a.7556.7556 0 0 1 .0083-1.0654ZM9.368 18.8148a.7483.7483 0 0 1-1.0611-.0084l-4.087-4.1684a.7555.7555 0 0 1-.1574-.8195.7503.7503 0 0 1 .6921-.4623H17.178c.4144 0 .7503.3373.7503.7533 0 .4161-.3359.7534-.7503.7534H6.5463l2.8301 2.8865a.7555.7555 0 0 1-.0083 1.0654Z", "clip-rule": "evenodd" }) })
1998
+ }
1999
+ ),
1946
2000
  renderAirportDropdown(0, "destination", destinationDropdownRef, isDestinationDropdownOpen, () => setIsDestinationDropdownOpen(true))
1947
2001
  ] }),
1948
2002
  (tripType === "round-trip" || tripType === "one-way") && /* @__PURE__ */ jsx("div", { className: "sw-srh-wrap sw-pos-rel ", children: tripType === "round-trip" ? /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -2196,6 +2250,11 @@ function FlightSearchWidget({
2196
2250
  },
2197
2251
  onChange: (e) => {
2198
2252
  const next = e.value ?? [];
2253
+ if (next.length > 3) {
2254
+ setAirlineLimitError("You can select up to 3 airlines.");
2255
+ return;
2256
+ }
2257
+ setAirlineLimitError(null);
2199
2258
  setSelectedAirlines(next);
2200
2259
  setAdvancedOptions((prev) => ({
2201
2260
  ...prev,
@@ -2208,6 +2267,7 @@ function FlightSearchWidget({
2208
2267
  placeholder: "Preferred airline"
2209
2268
  }
2210
2269
  ),
2270
+ airlineLimitError && /* @__PURE__ */ jsx("small", { style: { color: "var(--sw-error)" }, children: airlineLimitError }),
2211
2271
  /* @__PURE__ */ jsxs("div", { className: "sw-fsrh-chk-main", children: [
2212
2272
  /* @__PURE__ */ jsxs("label", { className: "sw-material-checkbox", children: [
2213
2273
  /* @__PURE__ */ jsx(