@qite/tide-booking-component 1.4.108 → 1.4.109

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.
@@ -31884,6 +31884,7 @@ var MobileFilterModal = function () {
31884
31884
  destinationAirport = _b.destinationAirport,
31885
31885
  returnAirport = _b.returnAirport,
31886
31886
  destination = _b.destination;
31887
+ var searchInputRef = React.useRef(null);
31887
31888
  var _c = React.useState(''),
31888
31889
  inputValue = _c[0],
31889
31890
  setInputValue = _c[1];
@@ -31900,6 +31901,18 @@ var MobileFilterModal = function () {
31900
31901
  },
31901
31902
  [activeSearchFieldProps]
31902
31903
  );
31904
+ React.useEffect(
31905
+ function () {
31906
+ if (mobileFilterType !== 'search') return;
31907
+ requestAnimationFrame(function () {
31908
+ var input = searchInputRef.current;
31909
+ if (!input) return;
31910
+ input.focus();
31911
+ input.setSelectionRange(input.value.length, input.value.length);
31912
+ });
31913
+ },
31914
+ [mobileFilterType, activeSearchFieldProps === null || activeSearchFieldProps === void 0 ? void 0 : activeSearchFieldProps.fieldKey]
31915
+ );
31903
31916
  /* ---------------------------------------------------------------- */
31904
31917
  /* Helpers */
31905
31918
  /* ---------------------------------------------------------------- */
@@ -32092,6 +32105,7 @@ var MobileFilterModal = function () {
32092
32105
  'label',
32093
32106
  { className: 'qsm__input-wrapper' },
32094
32107
  React__default['default'].createElement('input', {
32108
+ ref: searchInputRef,
32095
32109
  type: 'text',
32096
32110
  id: 'search',
32097
32111
  value: inputValue,
@@ -32101,7 +32115,6 @@ var MobileFilterModal = function () {
32101
32115
  onChange: function (e) {
32102
32116
  return handleInputChange(e.target.value);
32103
32117
  },
32104
- // onChange={(e) => handleLocationChange(e.target.value)}
32105
32118
  className: 'qsm__input qsm__input--modal qsm__from-to u-ps-2',
32106
32119
  placeholder: activeSearchFieldProps.placeholder
32107
32120
  }),
@@ -32599,7 +32612,6 @@ var ItemPicker$1 = function (_a) {
32599
32612
  isDropdownOpen = _b[0],
32600
32613
  setIsDropdownOpen = _b[1];
32601
32614
  var dropdownRef = React.useRef(null);
32602
- var toggleButtonRef = React.useRef(null);
32603
32615
  var handlePick = function (picked, id) {
32604
32616
  setIsDropdownOpen(false);
32605
32617
  onPick(picked, id);
@@ -32621,7 +32633,7 @@ var ItemPicker$1 = function (_a) {
32621
32633
  React__default['default'].createElement('span', { className: 'dropdown__label' }, label),
32622
32634
  React__default['default'].createElement(
32623
32635
  'div',
32624
- { className: 'dropdown' },
32636
+ { className: 'dropdown', ref: dropdownRef },
32625
32637
  React__default['default'].createElement(
32626
32638
  'button',
32627
32639
  {
@@ -32630,8 +32642,7 @@ var ItemPicker$1 = function (_a) {
32630
32642
  return setIsDropdownOpen(function (prev) {
32631
32643
  return !prev;
32632
32644
  });
32633
- },
32634
- ref: toggleButtonRef
32645
+ }
32635
32646
  },
32636
32647
  React__default['default'].createElement('span', null, selection || placeholder),
32637
32648
  React__default['default'].createElement('span', { className: 'arrow' }, '\u25BE')
@@ -33064,58 +33075,16 @@ var QSMContainer = function () {
33064
33075
  );
33065
33076
  })
33066
33077
  ),
33067
- React__default['default'].createElement(
33068
- 'div',
33069
- { className: 'qsm__filter' },
33070
- (qsmType === build.PortalQsmType.Accommodation ||
33071
- qsmType === build.PortalQsmType.AccommodationAndFlight ||
33072
- qsmType === build.PortalQsmType.GroupTour) &&
33073
- React__default['default'].createElement(
33074
- 'div',
33075
- { className: 'radiobutton-group qsm__filter__inputgroup' },
33076
- React__default['default'].createElement(
33077
- 'div',
33078
- { className: 'radiobutton' },
33079
- React__default['default'].createElement(
33080
- 'label',
33081
- { className: 'radiobutton__label' },
33082
- React__default['default'].createElement('input', {
33083
- type: 'radio',
33084
- name: 'numberOfAccommodations',
33085
- // onChange={handleMainBookerChange}
33086
- // onBlur={formik.handleBlur}
33087
- value: '',
33088
- checked: true,
33089
- readOnly: true,
33090
- className: 'radiobutton__input'
33091
- }),
33092
- React__default['default'].createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
33093
- )
33094
- ),
33078
+ !isMobile &&
33079
+ React__default['default'].createElement(
33080
+ 'div',
33081
+ { className: 'qsm__filter' },
33082
+ (qsmType === build.PortalQsmType.Accommodation ||
33083
+ qsmType === build.PortalQsmType.AccommodationAndFlight ||
33084
+ qsmType === build.PortalQsmType.GroupTour) &&
33095
33085
  React__default['default'].createElement(
33096
33086
  'div',
33097
- { className: 'radiobutton' },
33098
- React__default['default'].createElement(
33099
- 'label',
33100
- { className: 'radiobutton__label' },
33101
- React__default['default'].createElement('input', {
33102
- type: 'radio',
33103
- name: 'numberOfAccommodations',
33104
- // onChange={handleMainBookerChange}
33105
- // onBlur={formik.handleBlur}
33106
- value: '',
33107
- className: 'radiobutton__input',
33108
- disabled: true
33109
- }),
33110
- React__default['default'].createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
33111
- )
33112
- )
33113
- ),
33114
- qsmType === build.PortalQsmType.Flight &&
33115
- React__default['default'].createElement(
33116
- 'div',
33117
- { className: 'radiobutton-group qsm__filter__inputgroup' },
33118
- allowOneWay &&
33087
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33119
33088
  React__default['default'].createElement(
33120
33089
  'div',
33121
33090
  { className: 'radiobutton' },
@@ -33124,18 +33093,17 @@ var QSMContainer = function () {
33124
33093
  { className: 'radiobutton__label' },
33125
33094
  React__default['default'].createElement('input', {
33126
33095
  type: 'radio',
33127
- name: 'tripType',
33128
- value: 'oneway',
33129
- checked: tripType === 'oneway',
33130
- onChange: function () {
33131
- return handleTripTypeChange('oneway');
33132
- },
33096
+ name: 'numberOfAccommodations',
33097
+ // onChange={handleMainBookerChange}
33098
+ // onBlur={formik.handleBlur}
33099
+ value: '',
33100
+ checked: true,
33101
+ readOnly: true,
33133
33102
  className: 'radiobutton__input'
33134
33103
  }),
33135
- React__default['default'].createElement('span', null, translations.QSM.ONEWAY)
33104
+ React__default['default'].createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
33136
33105
  )
33137
33106
  ),
33138
- allowRoundtrip &&
33139
33107
  React__default['default'].createElement(
33140
33108
  'div',
33141
33109
  { className: 'radiobutton' },
@@ -33144,58 +33112,102 @@ var QSMContainer = function () {
33144
33112
  { className: 'radiobutton__label' },
33145
33113
  React__default['default'].createElement('input', {
33146
33114
  type: 'radio',
33147
- name: 'tripType',
33148
- value: 'roundtrip',
33149
- checked: tripType === 'roundtrip',
33150
- onChange: function () {
33151
- return handleTripTypeChange('roundtrip');
33152
- },
33153
- className: 'radiobutton__input'
33115
+ name: 'numberOfAccommodations',
33116
+ // onChange={handleMainBookerChange}
33117
+ // onBlur={formik.handleBlur}
33118
+ value: '',
33119
+ className: 'radiobutton__input',
33120
+ disabled: true
33154
33121
  }),
33155
- React__default['default'].createElement('span', null, translations.QSM.ROUNDTRIP)
33122
+ React__default['default'].createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
33156
33123
  )
33157
- ),
33158
- allowOpenJaw &&
33159
- React__default['default'].createElement(
33160
- 'div',
33161
- { className: 'radiobutton' },
33124
+ )
33125
+ ),
33126
+ qsmType === build.PortalQsmType.Flight &&
33127
+ React__default['default'].createElement(
33128
+ 'div',
33129
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33130
+ allowOneWay &&
33162
33131
  React__default['default'].createElement(
33163
- 'label',
33164
- { className: 'radiobutton__label' },
33165
- React__default['default'].createElement('input', {
33166
- type: 'radio',
33167
- name: 'tripType',
33168
- value: 'openjaw',
33169
- checked: tripType === 'openjaw',
33170
- onChange: function () {
33171
- return handleTripTypeChange('openjaw');
33172
- },
33173
- className: 'radiobutton__input'
33174
- }),
33175
- React__default['default'].createElement('span', null, translations.QSM.OPENJAW)
33132
+ 'div',
33133
+ { className: 'radiobutton' },
33134
+ React__default['default'].createElement(
33135
+ 'label',
33136
+ { className: 'radiobutton__label' },
33137
+ React__default['default'].createElement('input', {
33138
+ type: 'radio',
33139
+ name: 'tripType',
33140
+ value: 'oneway',
33141
+ checked: tripType === 'oneway',
33142
+ onChange: function () {
33143
+ return handleTripTypeChange('oneway');
33144
+ },
33145
+ className: 'radiobutton__input'
33146
+ }),
33147
+ React__default['default'].createElement('span', null, translations.QSM.ONEWAY)
33148
+ )
33149
+ ),
33150
+ allowRoundtrip &&
33151
+ React__default['default'].createElement(
33152
+ 'div',
33153
+ { className: 'radiobutton' },
33154
+ React__default['default'].createElement(
33155
+ 'label',
33156
+ { className: 'radiobutton__label' },
33157
+ React__default['default'].createElement('input', {
33158
+ type: 'radio',
33159
+ name: 'tripType',
33160
+ value: 'roundtrip',
33161
+ checked: tripType === 'roundtrip',
33162
+ onChange: function () {
33163
+ return handleTripTypeChange('roundtrip');
33164
+ },
33165
+ className: 'radiobutton__input'
33166
+ }),
33167
+ React__default['default'].createElement('span', null, translations.QSM.ROUNDTRIP)
33168
+ )
33169
+ ),
33170
+ allowOpenJaw &&
33171
+ React__default['default'].createElement(
33172
+ 'div',
33173
+ { className: 'radiobutton' },
33174
+ React__default['default'].createElement(
33175
+ 'label',
33176
+ { className: 'radiobutton__label' },
33177
+ React__default['default'].createElement('input', {
33178
+ type: 'radio',
33179
+ name: 'tripType',
33180
+ value: 'openjaw',
33181
+ checked: tripType === 'openjaw',
33182
+ onChange: function () {
33183
+ return handleTripTypeChange('openjaw');
33184
+ },
33185
+ className: 'radiobutton__input'
33186
+ }),
33187
+ React__default['default'].createElement('span', null, translations.QSM.OPENJAW)
33188
+ )
33176
33189
  )
33177
- )
33178
- ),
33179
- React__default['default'].createElement(
33180
- 'div',
33181
- { className: 'qsm__filter__classgroup' },
33182
- qsmType !== build.PortalQsmType.Accommodation &&
33183
- qsmType !== build.PortalQsmType.Car &&
33184
- qsmType !== build.PortalQsmType.Ticket &&
33185
- qsmType !== build.PortalQsmType.Cruise &&
33186
- qsmType !== build.PortalQsmType.Transfer &&
33187
- qsmType !== build.PortalQsmType.GroupTour &&
33188
- askTravelClass &&
33189
- React__default['default'].createElement(TravelClassPicker, null),
33190
- qsmType !== build.PortalQsmType.Multidestination &&
33191
- qsmType !== build.PortalQsmType.Car &&
33192
- qsmType !== build.PortalQsmType.Flight &&
33193
- qsmType !== build.PortalQsmType.Transfer &&
33194
- askTravelType &&
33195
- React__default['default'].createElement(TravelTypePicker, null),
33196
- askNationality && React__default['default'].createElement(TravelNationalityPicker, null)
33197
- )
33198
- ),
33190
+ ),
33191
+ React__default['default'].createElement(
33192
+ 'div',
33193
+ { className: 'qsm__filter__classgroup' },
33194
+ qsmType !== build.PortalQsmType.Accommodation &&
33195
+ qsmType !== build.PortalQsmType.Car &&
33196
+ qsmType !== build.PortalQsmType.Ticket &&
33197
+ qsmType !== build.PortalQsmType.Cruise &&
33198
+ qsmType !== build.PortalQsmType.Transfer &&
33199
+ qsmType !== build.PortalQsmType.GroupTour &&
33200
+ askTravelClass &&
33201
+ React__default['default'].createElement(TravelClassPicker, null),
33202
+ qsmType !== build.PortalQsmType.Multidestination &&
33203
+ qsmType !== build.PortalQsmType.Car &&
33204
+ qsmType !== build.PortalQsmType.Flight &&
33205
+ qsmType !== build.PortalQsmType.Transfer &&
33206
+ askTravelType &&
33207
+ React__default['default'].createElement(TravelTypePicker, null),
33208
+ askNationality && React__default['default'].createElement(TravelNationalityPicker, null)
33209
+ )
33210
+ ),
33199
33211
  React__default['default'].createElement(
33200
33212
  'div',
33201
33213
  { className: 'qsm__input-group' },
@@ -33217,6 +33229,139 @@ var QSMContainer = function () {
33217
33229
  React__default['default'].createElement(SearchInputGroup, { fieldConfig: destination }),
33218
33230
  React__default['default'].createElement(Dates, { value: dateRange, onChange: handleDateChange }),
33219
33231
  askTravelers && React__default['default'].createElement(TravelInputGroup, null),
33232
+ isMobile &&
33233
+ React__default['default'].createElement(
33234
+ 'div',
33235
+ { className: 'qsm__filter' },
33236
+ (qsmType === build.PortalQsmType.Accommodation ||
33237
+ qsmType === build.PortalQsmType.AccommodationAndFlight ||
33238
+ qsmType === build.PortalQsmType.GroupTour) &&
33239
+ React__default['default'].createElement(
33240
+ 'div',
33241
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33242
+ React__default['default'].createElement(
33243
+ 'div',
33244
+ { className: 'radiobutton' },
33245
+ React__default['default'].createElement(
33246
+ 'label',
33247
+ { className: 'radiobutton__label' },
33248
+ React__default['default'].createElement('input', {
33249
+ type: 'radio',
33250
+ name: 'numberOfAccommodations',
33251
+ // onChange={handleMainBookerChange}
33252
+ // onBlur={formik.handleBlur}
33253
+ value: '',
33254
+ checked: true,
33255
+ readOnly: true,
33256
+ className: 'radiobutton__input'
33257
+ }),
33258
+ React__default['default'].createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
33259
+ )
33260
+ ),
33261
+ React__default['default'].createElement(
33262
+ 'div',
33263
+ { className: 'radiobutton' },
33264
+ React__default['default'].createElement(
33265
+ 'label',
33266
+ { className: 'radiobutton__label' },
33267
+ React__default['default'].createElement('input', {
33268
+ type: 'radio',
33269
+ name: 'numberOfAccommodations',
33270
+ // onChange={handleMainBookerChange}
33271
+ // onBlur={formik.handleBlur}
33272
+ value: '',
33273
+ className: 'radiobutton__input',
33274
+ disabled: true
33275
+ }),
33276
+ React__default['default'].createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
33277
+ )
33278
+ )
33279
+ ),
33280
+ qsmType === build.PortalQsmType.Flight &&
33281
+ React__default['default'].createElement(
33282
+ 'div',
33283
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33284
+ allowOneWay &&
33285
+ React__default['default'].createElement(
33286
+ 'div',
33287
+ { className: 'radiobutton' },
33288
+ React__default['default'].createElement(
33289
+ 'label',
33290
+ { className: 'radiobutton__label' },
33291
+ React__default['default'].createElement('input', {
33292
+ type: 'radio',
33293
+ name: 'tripType',
33294
+ value: 'oneway',
33295
+ checked: tripType === 'oneway',
33296
+ onChange: function () {
33297
+ return handleTripTypeChange('oneway');
33298
+ },
33299
+ className: 'radiobutton__input'
33300
+ }),
33301
+ React__default['default'].createElement('span', null, translations.QSM.ONEWAY)
33302
+ )
33303
+ ),
33304
+ allowRoundtrip &&
33305
+ React__default['default'].createElement(
33306
+ 'div',
33307
+ { className: 'radiobutton' },
33308
+ React__default['default'].createElement(
33309
+ 'label',
33310
+ { className: 'radiobutton__label' },
33311
+ React__default['default'].createElement('input', {
33312
+ type: 'radio',
33313
+ name: 'tripType',
33314
+ value: 'roundtrip',
33315
+ checked: tripType === 'roundtrip',
33316
+ onChange: function () {
33317
+ return handleTripTypeChange('roundtrip');
33318
+ },
33319
+ className: 'radiobutton__input'
33320
+ }),
33321
+ React__default['default'].createElement('span', null, translations.QSM.ROUNDTRIP)
33322
+ )
33323
+ ),
33324
+ allowOpenJaw &&
33325
+ React__default['default'].createElement(
33326
+ 'div',
33327
+ { className: 'radiobutton' },
33328
+ React__default['default'].createElement(
33329
+ 'label',
33330
+ { className: 'radiobutton__label' },
33331
+ React__default['default'].createElement('input', {
33332
+ type: 'radio',
33333
+ name: 'tripType',
33334
+ value: 'openjaw',
33335
+ checked: tripType === 'openjaw',
33336
+ onChange: function () {
33337
+ return handleTripTypeChange('openjaw');
33338
+ },
33339
+ className: 'radiobutton__input'
33340
+ }),
33341
+ React__default['default'].createElement('span', null, translations.QSM.OPENJAW)
33342
+ )
33343
+ )
33344
+ ),
33345
+ React__default['default'].createElement(
33346
+ 'div',
33347
+ { className: 'qsm__filter__classgroup' },
33348
+ qsmType !== build.PortalQsmType.Accommodation &&
33349
+ qsmType !== build.PortalQsmType.Car &&
33350
+ qsmType !== build.PortalQsmType.Ticket &&
33351
+ qsmType !== build.PortalQsmType.Cruise &&
33352
+ qsmType !== build.PortalQsmType.Transfer &&
33353
+ qsmType !== build.PortalQsmType.GroupTour &&
33354
+ askTravelClass &&
33355
+ React__default['default'].createElement(TravelClassPicker, null),
33356
+ qsmType !== build.PortalQsmType.Multidestination &&
33357
+ qsmType !== build.PortalQsmType.Car &&
33358
+ qsmType !== build.PortalQsmType.Flight &&
33359
+ qsmType !== build.PortalQsmType.Transfer &&
33360
+ askTravelType &&
33361
+ React__default['default'].createElement(TravelTypePicker, null),
33362
+ askNationality && React__default['default'].createElement(TravelNationalityPicker, null)
33363
+ )
33364
+ ),
33220
33365
  React__default['default'].createElement(
33221
33366
  'button',
33222
33367
  { type: 'button', className: 'cta', onClick: handleSubmit },