@qite/tide-booking-component 1.4.21 → 1.4.23
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/build/build-cjs/content/components/accordion.d.ts +9 -0
- package/build/build-cjs/content/components/breadcrumb.d.ts +2 -1
- package/build/build-cjs/content/components/faq.d.ts +10 -0
- package/build/build-cjs/content/footer/index.d.ts +4 -0
- package/build/build-cjs/content/{components/footer.d.ts → footer/types.d.ts} +1 -3
- package/build/build-cjs/index.d.ts +2 -1
- package/build/build-cjs/index.js +181 -2
- package/build/build-cjs/qsm/types.d.ts +7 -4
- package/build/build-esm/content/components/accordion.d.ts +9 -0
- package/build/build-esm/content/components/breadcrumb.d.ts +2 -1
- package/build/build-esm/content/components/faq.d.ts +10 -0
- package/build/build-esm/content/footer/index.d.ts +4 -0
- package/build/build-esm/content/{components/footer.d.ts → footer/types.d.ts} +1 -3
- package/build/build-esm/index.d.ts +2 -1
- package/build/build-esm/index.js +177 -3
- package/build/build-esm/qsm/types.d.ts +7 -4
- package/package.json +1 -1
- package/src/content/components/accordion.tsx +30 -0
- package/src/content/components/breadcrumb.tsx +4 -2
- package/src/content/components/faq.tsx +36 -0
- package/src/content/features/content-page/content-page-self-contained.tsx +22 -22
- package/src/content/{components/footer.tsx → footer/index.tsx} +2 -37
- package/src/content/footer/types.ts +35 -0
- package/src/index.ts +2 -1
- package/src/qsm/types.ts +9 -1
- package/src/search-results/features/flights/flight-search-results-self-contained.tsx +1 -2
- package/src/search-results/features/hotels/hotel-flight-search-results-self-contained.tsx +1 -2
- package/src/search-results/features/hotels/hotel-search-results-self-contained.tsx +1 -2
- package/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.tsx +1 -2
- package/styles/components/_accordion.scss +67 -0
- package/styles/components/_breadcrumb.scss +18 -1
- package/styles/components/_content.scss +0 -138
- package/styles/components/_faq.scss +27 -0
- package/styles/components/_footer.scss +140 -0
- package/styles/components/_navbar.scss +6 -0
- package/styles/content-blocks.scss +3 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface AccordionProps {
|
|
3
|
+
summary: React.ReactNode;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
defaultOpen?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export default function Accordion({ summary, children, defaultOpen, className }: AccordionProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -10,6 +10,7 @@ type BreadcrumbsProps = {
|
|
|
10
10
|
items: BreadcrumbItem[];
|
|
11
11
|
separator?: React.ReactNode;
|
|
12
12
|
ariaLabel?: string;
|
|
13
|
+
noHeader?: boolean;
|
|
13
14
|
};
|
|
14
|
-
export default function Breadcrumbs({ items, separator, ariaLabel }: BreadcrumbsProps): React.JSX.Element;
|
|
15
|
+
export default function Breadcrumbs({ items, separator, ariaLabel, noHeader }: BreadcrumbsProps): React.JSX.Element;
|
|
15
16
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
export interface FooterLink {
|
|
3
3
|
label: string;
|
|
4
4
|
href?: string;
|
|
@@ -25,5 +25,3 @@ export interface FooterProps {
|
|
|
25
25
|
copyrightText?: string;
|
|
26
26
|
payments?: PaymentIcon[];
|
|
27
27
|
}
|
|
28
|
-
export declare const Footer: React.FC<FooterProps>;
|
|
29
|
-
export default Footer;
|
|
@@ -2,6 +2,7 @@ import BookingProduct from './booking-product';
|
|
|
2
2
|
import BookingWizard from './booking-wizard';
|
|
3
3
|
import Header from './content/header';
|
|
4
4
|
import Navbar from './content/navbar';
|
|
5
|
+
import Footer from './content/footer';
|
|
5
6
|
import QSM from './qsm';
|
|
6
7
|
import SearchResults from './search-results';
|
|
7
|
-
export { BookingProduct, BookingWizard, QSM, SearchResults, Navbar, Header };
|
|
8
|
+
export { BookingProduct, BookingWizard, QSM, SearchResults, Navbar, Header, Footer };
|
package/build/build-cjs/index.js
CHANGED
|
@@ -9710,7 +9710,7 @@ var Loader = function (_a) {
|
|
|
9710
9710
|
);
|
|
9711
9711
|
};
|
|
9712
9712
|
|
|
9713
|
-
var Footer = function (_a) {
|
|
9713
|
+
var Footer$1 = function (_a) {
|
|
9714
9714
|
var priceText = _a.priceText,
|
|
9715
9715
|
isLoading = _a.isLoading,
|
|
9716
9716
|
isOffer = _a.isOffer,
|
|
@@ -10371,7 +10371,7 @@ var Product = function (_a) {
|
|
|
10371
10371
|
}),
|
|
10372
10372
|
React__default['default'].createElement(Dates, { value: dateRange, duration: duration, onChange: handleDateChange })
|
|
10373
10373
|
),
|
|
10374
|
-
React__default['default'].createElement(Footer, {
|
|
10374
|
+
React__default['default'].createElement(Footer$1, {
|
|
10375
10375
|
priceText: priceText,
|
|
10376
10376
|
isLoading: isLoading,
|
|
10377
10377
|
isOffer: isOffer,
|
|
@@ -22673,6 +22673,184 @@ var Navbar = function (_a) {
|
|
|
22673
22673
|
);
|
|
22674
22674
|
};
|
|
22675
22675
|
|
|
22676
|
+
var DefaultLogo = function () {
|
|
22677
|
+
return React__default['default'].createElement(
|
|
22678
|
+
'svg',
|
|
22679
|
+
{ xmlns: 'http://www.w3.org/2000/svg', width: '100%', height: '100%', viewBox: '0 0 362 105', fill: 'none' },
|
|
22680
|
+
React__default['default'].createElement('path', { d: 'M162.919 93.5458V7.96968H136.383V0H197.82V7.96968H171.285V93.5458H162.919Z', fill: 'black' }),
|
|
22681
|
+
React__default['default'].createElement('path', {
|
|
22682
|
+
d: 'M210.005 13.849C208.175 13.849 206.606 13.2393 205.299 12.0199C204.079 10.7133 203.469 9.18909 203.469 7.44708C203.469 5.61798 204.079 4.09372 205.299 2.87432C206.606 1.56781 208.175 0.914552 210.005 0.914552C211.748 0.914552 213.229 1.56781 214.449 2.87432C215.757 4.09372 216.41 5.61798 216.41 7.44708C216.41 9.18909 215.757 10.7133 214.449 12.0199C213.229 13.2393 211.748 13.849 210.005 13.849ZM205.822 93.5458V29.527H214.188V93.5458H205.822Z',
|
|
22683
|
+
fill: 'black'
|
|
22684
|
+
}),
|
|
22685
|
+
React__default['default'].createElement('path', {
|
|
22686
|
+
d: 'M280.911 82.3099H280.388C279.342 84.0519 278.078 85.7503 276.597 87.4052C275.115 88.973 273.373 90.3666 271.368 91.5861C269.364 92.8055 267.098 93.7635 264.571 94.4604C262.044 95.2443 259.255 95.6362 256.205 95.6362C252.109 95.6362 248.231 94.8088 244.571 93.1539C240.911 91.4118 237.686 89.0601 234.898 86.0987C232.196 83.0502 230.017 79.4355 228.362 75.2547C226.793 71.0739 226.009 66.5011 226.009 61.5364C226.009 56.5717 226.793 51.9989 228.362 47.8181C230.017 43.6373 232.196 40.0662 234.898 37.1048C237.686 34.0563 240.911 31.7045 244.571 30.0496C248.231 28.3076 252.109 27.4366 256.205 27.4366C262.305 27.4366 267.359 28.7431 271.368 31.3561C275.377 33.9691 278.383 37.0612 280.388 40.6323H280.911L280.388 31.7481V0H288.754V93.5458H280.911V82.3099ZM257.643 88.0585C260.693 88.0585 263.612 87.4923 266.401 86.36C269.277 85.1406 271.76 83.3986 273.852 81.134C276.031 78.7823 277.73 75.9951 278.95 72.7724C280.257 69.4625 280.911 65.7172 280.911 61.5364C280.911 57.3556 280.257 53.6103 278.95 50.3005C277.73 46.9907 276.031 44.2034 273.852 41.9388C271.76 39.6742 269.277 37.9758 266.401 36.8435C263.612 35.6241 260.693 35.0144 257.643 35.0144C254.593 35.0144 251.63 35.6241 248.754 36.8435C245.965 38.0629 243.481 39.8484 241.303 42.2001C239.211 44.4647 237.512 47.252 236.205 50.5618C234.985 53.7845 234.375 57.4427 234.375 61.5364C234.375 65.6301 234.985 69.3319 236.205 72.6417C237.512 75.9515 239.211 78.7387 241.303 81.0033C243.481 83.268 245.965 85.01 248.754 86.2294C251.63 87.4488 254.593 88.0585 257.643 88.0585Z',
|
|
22687
|
+
fill: 'black'
|
|
22688
|
+
}),
|
|
22689
|
+
React__default['default'].createElement('path', {
|
|
22690
|
+
d: 'M359.793 78.3903C358.66 80.7421 357.223 82.9631 355.48 85.0535C353.737 87.1439 351.689 88.973 349.336 90.5408C347.07 92.1087 344.456 93.3281 341.493 94.1991C338.53 95.1572 335.262 95.6362 331.689 95.6362C327.07 95.6362 322.8 94.8088 318.878 93.1539C314.957 91.4118 311.558 89.0166 308.682 85.9681C305.894 82.9196 303.715 79.3484 302.146 75.2547C300.578 71.0739 299.793 66.5011 299.793 61.5364C299.793 56.9201 300.491 52.5651 301.885 48.4714C303.366 44.2905 305.458 40.6759 308.159 37.6274C310.861 34.4917 314.129 32.0094 317.963 30.1803C321.798 28.3512 326.111 27.4366 330.905 27.4366C335.523 27.4366 339.663 28.2641 343.323 29.919C347.07 31.4868 350.251 33.7514 352.865 36.7128C355.48 39.5871 357.484 43.0711 358.878 47.1649C360.36 51.2586 361.101 55.7878 361.101 60.7525C361.101 61.0138 361.101 61.2751 361.101 61.5364C361.013 61.7977 360.97 62.0155 360.97 62.1897V62.9736H308.29C308.377 67.4157 309.162 71.2046 310.643 74.3402C312.125 77.4758 313.998 80.0888 316.264 82.1792C318.53 84.1825 321.057 85.6632 323.846 86.6213C326.634 87.5794 329.336 88.0585 331.95 88.0585C337.353 88.0585 341.623 86.8391 344.761 84.4003C347.898 81.8744 350.512 78.6952 352.604 74.8628L359.793 78.3903ZM352.342 55.9184C352.255 53.828 351.82 51.5634 351.035 49.1246C350.251 46.6858 349.031 44.4212 347.375 42.3308C345.719 40.2404 343.497 38.4984 340.708 37.1048C338.007 35.7112 334.652 35.0144 330.643 35.0144C328.029 35.0144 325.501 35.4934 323.061 36.4515C320.621 37.3225 318.399 38.629 316.395 40.371C314.478 42.113 312.822 44.2905 311.427 46.9036C310.12 49.5166 309.249 52.5215 308.813 55.9184H352.342Z',
|
|
22691
|
+
fill: 'black'
|
|
22692
|
+
}),
|
|
22693
|
+
React__default['default'].createElement('path', {
|
|
22694
|
+
d: 'M101.211 60.1065C101.211 60.1065 107.877 26.7486 76.2712 7.84631C76.4781 7.97189 58.3876 -4.7109 38.4167 3.42406C38.7673 3.78 35.9017 18.7582 45.3684 27.9065C45.161 27.7809 101.213 60.1093 101.213 60.1093',
|
|
22695
|
+
fill: 'url(#paint0_linear_100_16650)'
|
|
22696
|
+
}),
|
|
22697
|
+
React__default['default'].createElement('path', {
|
|
22698
|
+
d: 'M100.141 65.9671C99.6608 66.1056 87.8509 56.4508 75.2936 60.4101C75.5028 60.2877 20.3579 94.1359 20.3579 94.1359C20.3579 94.1359 46.5252 115.888 78.2137 97.1233C78.0045 97.2452 97.7823 87.3929 100.141 65.9671',
|
|
22699
|
+
fill: 'url(#paint1_linear_100_16650)'
|
|
22700
|
+
}),
|
|
22701
|
+
React__default['default'].createElement('path', {
|
|
22702
|
+
d: 'M31.9853 5.67737C31.9853 5.67737 -0.0892988 17.3353 0.153201 54.2498C0.153201 54.0065 -1.30549 76.1073 16.0681 88.9789C16.1905 88.4932 30.5257 83.1504 33.4426 70.2788C33.444 70.522 31.9853 5.67737 31.9853 5.67737Z',
|
|
22703
|
+
fill: 'url(#paint2_linear_100_16650)'
|
|
22704
|
+
}),
|
|
22705
|
+
React__default['default'].createElement(
|
|
22706
|
+
'defs',
|
|
22707
|
+
null,
|
|
22708
|
+
React__default['default'].createElement(
|
|
22709
|
+
'linearGradient',
|
|
22710
|
+
{ id: 'paint0_linear_100_16650', x1: '101.798', y1: '60.1093', x2: '43.5053', y2: '0.000186692', gradientUnits: 'userSpaceOnUse' },
|
|
22711
|
+
React__default['default'].createElement('stop', { stopColor: '#95C3E6' }),
|
|
22712
|
+
React__default['default'].createElement('stop', { offset: '1', stopColor: '#2672AB' })
|
|
22713
|
+
),
|
|
22714
|
+
React__default['default'].createElement(
|
|
22715
|
+
'linearGradient',
|
|
22716
|
+
{ id: 'paint1_linear_100_16650', x1: '21.3951', y1: '93.8819', x2: '70.8134', y2: '39.2931', gradientUnits: 'userSpaceOnUse' },
|
|
22717
|
+
React__default['default'].createElement('stop', { stopColor: '#9494F3' }),
|
|
22718
|
+
React__default['default'].createElement('stop', { offset: '1', stopColor: '#2626C4' })
|
|
22719
|
+
),
|
|
22720
|
+
React__default['default'].createElement(
|
|
22721
|
+
'linearGradient',
|
|
22722
|
+
{ id: 'paint2_linear_100_16650', x1: '31.6767', y1: '5.67737', x2: '-17.9893', y2: '50.1198', gradientUnits: 'userSpaceOnUse' },
|
|
22723
|
+
React__default['default'].createElement('stop', { stopColor: '#14DA9E' }),
|
|
22724
|
+
React__default['default'].createElement('stop', { offset: '1', stopColor: '#26B489' })
|
|
22725
|
+
)
|
|
22726
|
+
)
|
|
22727
|
+
);
|
|
22728
|
+
};
|
|
22729
|
+
var defaultSocial = [
|
|
22730
|
+
{ label: 'Instagram', href: '#', iconName: 'ui-instagram' },
|
|
22731
|
+
{ label: 'LinkedIn', href: '#', iconName: 'ui-linkedin' },
|
|
22732
|
+
{ label: 'Facebook', href: '#', iconName: 'ui-facebook' }
|
|
22733
|
+
];
|
|
22734
|
+
var defaultColumns = [
|
|
22735
|
+
{
|
|
22736
|
+
title: 'Bestemmingen',
|
|
22737
|
+
links: [
|
|
22738
|
+
{ label: 'Spanje', href: '#' },
|
|
22739
|
+
{ label: 'Kroatië', href: '#' },
|
|
22740
|
+
{ label: 'Tenerife', href: '#' },
|
|
22741
|
+
{ label: 'Griekenland', href: '#' },
|
|
22742
|
+
{ label: 'Ibiza', href: '#' }
|
|
22743
|
+
]
|
|
22744
|
+
},
|
|
22745
|
+
{
|
|
22746
|
+
title: 'Themareizen',
|
|
22747
|
+
links: [
|
|
22748
|
+
{ label: 'Huwlijksreizen', href: '#' },
|
|
22749
|
+
{ label: 'Familiereizen', href: '#' },
|
|
22750
|
+
{ label: 'Groepsreizen', href: '#' },
|
|
22751
|
+
{ label: 'Golf', href: '#' },
|
|
22752
|
+
{ label: 'Sport', href: '#' }
|
|
22753
|
+
]
|
|
22754
|
+
},
|
|
22755
|
+
{
|
|
22756
|
+
title: 'Info diensten',
|
|
22757
|
+
links: [
|
|
22758
|
+
{ label: 'Privacy Policy', href: '#' },
|
|
22759
|
+
{ label: 'Terms of Service', href: '#' },
|
|
22760
|
+
{ label: 'About us', href: '#' },
|
|
22761
|
+
{ label: 'Contact Us', href: '#' }
|
|
22762
|
+
]
|
|
22763
|
+
},
|
|
22764
|
+
{
|
|
22765
|
+
title: 'About us',
|
|
22766
|
+
links: [
|
|
22767
|
+
{ label: 'Privacy Policy', href: '#' },
|
|
22768
|
+
{ label: 'Terms of Service', href: '#' },
|
|
22769
|
+
{ label: 'About us', href: '#' },
|
|
22770
|
+
{ label: 'Contact Us', href: '#' }
|
|
22771
|
+
]
|
|
22772
|
+
}
|
|
22773
|
+
];
|
|
22774
|
+
var defaultPayments = [
|
|
22775
|
+
{ src: 'https://koningaap.be/public/KoningAap/payments/bancontactmrcash-logo.svg', alt: 'bank' },
|
|
22776
|
+
{ src: 'https://koningaap.be/public/KoningAap/payments/mastercard-logo.svg', alt: 'mastercard' },
|
|
22777
|
+
{ src: 'https://www.tui.be/sites/all/themes/tui/img/maestro.png', alt: 'maestro' },
|
|
22778
|
+
{ src: 'https://koningaap.be/public/KoningAap/payments/visa-logo.svg', alt: 'visa' },
|
|
22779
|
+
{ src: 'https://1000logos.net/wp-content/uploads/2016/10/American-Express-logo.png', alt: 'american express' }
|
|
22780
|
+
];
|
|
22781
|
+
var Footer = function (_a) {
|
|
22782
|
+
var className = _a.className,
|
|
22783
|
+
logo = _a.logo,
|
|
22784
|
+
_b = _a.social,
|
|
22785
|
+
social = _b === void 0 ? defaultSocial : _b,
|
|
22786
|
+
_c = _a.columns,
|
|
22787
|
+
columns = _c === void 0 ? defaultColumns : _c,
|
|
22788
|
+
_d = _a.copyrightText,
|
|
22789
|
+
copyrightText = _d === void 0 ? '© 2024 Travel Agency. All rights reserved.' : _d,
|
|
22790
|
+
_e = _a.payments,
|
|
22791
|
+
payments = _e === void 0 ? defaultPayments : _e;
|
|
22792
|
+
return React__default['default'].createElement(
|
|
22793
|
+
'footer',
|
|
22794
|
+
{ className: ['footer', className].filter(Boolean).join(' ') },
|
|
22795
|
+
React__default['default'].createElement(
|
|
22796
|
+
'div',
|
|
22797
|
+
{ className: 'footer__container' },
|
|
22798
|
+
React__default['default'].createElement(
|
|
22799
|
+
'div',
|
|
22800
|
+
{ className: 'footer__top' },
|
|
22801
|
+
React__default['default'].createElement(
|
|
22802
|
+
'div',
|
|
22803
|
+
{ className: 'footer__logo' },
|
|
22804
|
+
logo !== null && logo !== void 0 ? logo : React__default['default'].createElement(DefaultLogo, null)
|
|
22805
|
+
),
|
|
22806
|
+
React__default['default'].createElement(
|
|
22807
|
+
'div',
|
|
22808
|
+
{ className: 'footer__social' },
|
|
22809
|
+
social.map(function (item) {
|
|
22810
|
+
return React__default['default'].createElement(
|
|
22811
|
+
'a',
|
|
22812
|
+
{ key: item.label, href: item.href, className: 'footer__social__link', 'aria-label': item.label },
|
|
22813
|
+
React__default['default'].createElement(Icon$2, { name: item.iconName, width: 24, height: 24 })
|
|
22814
|
+
);
|
|
22815
|
+
})
|
|
22816
|
+
)
|
|
22817
|
+
),
|
|
22818
|
+
React__default['default'].createElement(
|
|
22819
|
+
'div',
|
|
22820
|
+
{ className: 'footer__wrapper' },
|
|
22821
|
+
columns.map(function (col) {
|
|
22822
|
+
return React__default['default'].createElement(
|
|
22823
|
+
'div',
|
|
22824
|
+
{ key: col.title, className: 'footer__links' },
|
|
22825
|
+
React__default['default'].createElement('h5', { className: 'footer__link__title' }, col.title),
|
|
22826
|
+
col.links.map(function (link) {
|
|
22827
|
+
var _a;
|
|
22828
|
+
return React__default['default'].createElement(
|
|
22829
|
+
'a',
|
|
22830
|
+
{ key: ''.concat(col.title, '-').concat(link.label), href: (_a = link.href) !== null && _a !== void 0 ? _a : '#', className: 'footer__link' },
|
|
22831
|
+
link.label
|
|
22832
|
+
);
|
|
22833
|
+
})
|
|
22834
|
+
);
|
|
22835
|
+
})
|
|
22836
|
+
),
|
|
22837
|
+
React__default['default'].createElement('div', { className: 'footer__line' }),
|
|
22838
|
+
React__default['default'].createElement(
|
|
22839
|
+
'div',
|
|
22840
|
+
{ className: 'footer__bottom' },
|
|
22841
|
+
React__default['default'].createElement('p', { className: 'footer__copyright' }, copyrightText),
|
|
22842
|
+
React__default['default'].createElement(
|
|
22843
|
+
'div',
|
|
22844
|
+
{ className: 'footer__payments' },
|
|
22845
|
+
payments.map(function (p) {
|
|
22846
|
+
return React__default['default'].createElement('img', { key: p.src, src: p.src, alt: p.alt });
|
|
22847
|
+
})
|
|
22848
|
+
)
|
|
22849
|
+
)
|
|
22850
|
+
)
|
|
22851
|
+
);
|
|
22852
|
+
};
|
|
22853
|
+
|
|
22676
22854
|
var QSMConfigurationContext = React__default['default'].createContext({
|
|
22677
22855
|
type: 'hotel',
|
|
22678
22856
|
askTravelers: false,
|
|
@@ -30665,6 +30843,7 @@ var SearchResults = function (_a) {
|
|
|
30665
30843
|
|
|
30666
30844
|
exports.BookingProduct = BookingProduct;
|
|
30667
30845
|
exports.BookingWizard = BookingWizard;
|
|
30846
|
+
exports.Footer = Footer;
|
|
30668
30847
|
exports.Header = Header;
|
|
30669
30848
|
exports.Navbar = Navbar;
|
|
30670
30849
|
exports.QSM = QSM;
|
|
@@ -42,11 +42,14 @@ export interface BaseFieldConfig {
|
|
|
42
42
|
fieldKey: string;
|
|
43
43
|
label: string;
|
|
44
44
|
placeholder: string;
|
|
45
|
-
options:
|
|
46
|
-
key: string;
|
|
47
|
-
value: string;
|
|
48
|
-
}[];
|
|
45
|
+
options: TypeaheadOption[];
|
|
49
46
|
}
|
|
47
|
+
export interface TypeaheadOption {
|
|
48
|
+
key: string;
|
|
49
|
+
value: string;
|
|
50
|
+
type: OptionType;
|
|
51
|
+
}
|
|
52
|
+
export type OptionType = 'country' | 'region' | 'oord' | 'location' | 'airport' | 'hotel' | 'other';
|
|
50
53
|
export interface SingleFieldConfig extends BaseFieldConfig {
|
|
51
54
|
type: 'single';
|
|
52
55
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface AccordionProps {
|
|
3
|
+
summary: React.ReactNode;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
defaultOpen?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export default function Accordion({ summary, children, defaultOpen, className }: AccordionProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -10,6 +10,7 @@ type BreadcrumbsProps = {
|
|
|
10
10
|
items: BreadcrumbItem[];
|
|
11
11
|
separator?: React.ReactNode;
|
|
12
12
|
ariaLabel?: string;
|
|
13
|
+
noHeader?: boolean;
|
|
13
14
|
};
|
|
14
|
-
export default function Breadcrumbs({ items, separator, ariaLabel }: BreadcrumbsProps): React.JSX.Element;
|
|
15
|
+
export default function Breadcrumbs({ items, separator, ariaLabel, noHeader }: BreadcrumbsProps): React.JSX.Element;
|
|
15
16
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
export interface FooterLink {
|
|
3
3
|
label: string;
|
|
4
4
|
href?: string;
|
|
@@ -25,5 +25,3 @@ export interface FooterProps {
|
|
|
25
25
|
copyrightText?: string;
|
|
26
26
|
payments?: PaymentIcon[];
|
|
27
27
|
}
|
|
28
|
-
export declare const Footer: React.FC<FooterProps>;
|
|
29
|
-
export default Footer;
|
|
@@ -2,6 +2,7 @@ import BookingProduct from './booking-product';
|
|
|
2
2
|
import BookingWizard from './booking-wizard';
|
|
3
3
|
import Header from './content/header';
|
|
4
4
|
import Navbar from './content/navbar';
|
|
5
|
+
import Footer from './content/footer';
|
|
5
6
|
import QSM from './qsm';
|
|
6
7
|
import SearchResults from './search-results';
|
|
7
|
-
export { BookingProduct, BookingWizard, QSM, SearchResults, Navbar, Header };
|
|
8
|
+
export { BookingProduct, BookingWizard, QSM, SearchResults, Navbar, Header, Footer };
|
package/build/build-esm/index.js
CHANGED
|
@@ -9747,7 +9747,7 @@ var Loader = function (_a) {
|
|
|
9747
9747
|
);
|
|
9748
9748
|
};
|
|
9749
9749
|
|
|
9750
|
-
var Footer = function (_a) {
|
|
9750
|
+
var Footer$1 = function (_a) {
|
|
9751
9751
|
var priceText = _a.priceText,
|
|
9752
9752
|
isLoading = _a.isLoading,
|
|
9753
9753
|
isOffer = _a.isOffer,
|
|
@@ -10385,7 +10385,7 @@ var Product = function (_a) {
|
|
|
10385
10385
|
React.createElement(Rooms, { rooms: rooms, isDisabled: roomsIsDisabled, setIsDisabled: setRoomsIsDisabled, onChange: handleRoomChange }),
|
|
10386
10386
|
React.createElement(Dates, { value: dateRange, duration: duration, onChange: handleDateChange })
|
|
10387
10387
|
),
|
|
10388
|
-
React.createElement(Footer, {
|
|
10388
|
+
React.createElement(Footer$1, {
|
|
10389
10389
|
priceText: priceText,
|
|
10390
10390
|
isLoading: isLoading,
|
|
10391
10391
|
isOffer: isOffer,
|
|
@@ -22537,6 +22537,180 @@ var Navbar = function (_a) {
|
|
|
22537
22537
|
);
|
|
22538
22538
|
};
|
|
22539
22539
|
|
|
22540
|
+
var DefaultLogo = function () {
|
|
22541
|
+
return React.createElement(
|
|
22542
|
+
'svg',
|
|
22543
|
+
{ xmlns: 'http://www.w3.org/2000/svg', width: '100%', height: '100%', viewBox: '0 0 362 105', fill: 'none' },
|
|
22544
|
+
React.createElement('path', { d: 'M162.919 93.5458V7.96968H136.383V0H197.82V7.96968H171.285V93.5458H162.919Z', fill: 'black' }),
|
|
22545
|
+
React.createElement('path', {
|
|
22546
|
+
d: 'M210.005 13.849C208.175 13.849 206.606 13.2393 205.299 12.0199C204.079 10.7133 203.469 9.18909 203.469 7.44708C203.469 5.61798 204.079 4.09372 205.299 2.87432C206.606 1.56781 208.175 0.914552 210.005 0.914552C211.748 0.914552 213.229 1.56781 214.449 2.87432C215.757 4.09372 216.41 5.61798 216.41 7.44708C216.41 9.18909 215.757 10.7133 214.449 12.0199C213.229 13.2393 211.748 13.849 210.005 13.849ZM205.822 93.5458V29.527H214.188V93.5458H205.822Z',
|
|
22547
|
+
fill: 'black'
|
|
22548
|
+
}),
|
|
22549
|
+
React.createElement('path', {
|
|
22550
|
+
d: 'M280.911 82.3099H280.388C279.342 84.0519 278.078 85.7503 276.597 87.4052C275.115 88.973 273.373 90.3666 271.368 91.5861C269.364 92.8055 267.098 93.7635 264.571 94.4604C262.044 95.2443 259.255 95.6362 256.205 95.6362C252.109 95.6362 248.231 94.8088 244.571 93.1539C240.911 91.4118 237.686 89.0601 234.898 86.0987C232.196 83.0502 230.017 79.4355 228.362 75.2547C226.793 71.0739 226.009 66.5011 226.009 61.5364C226.009 56.5717 226.793 51.9989 228.362 47.8181C230.017 43.6373 232.196 40.0662 234.898 37.1048C237.686 34.0563 240.911 31.7045 244.571 30.0496C248.231 28.3076 252.109 27.4366 256.205 27.4366C262.305 27.4366 267.359 28.7431 271.368 31.3561C275.377 33.9691 278.383 37.0612 280.388 40.6323H280.911L280.388 31.7481V0H288.754V93.5458H280.911V82.3099ZM257.643 88.0585C260.693 88.0585 263.612 87.4923 266.401 86.36C269.277 85.1406 271.76 83.3986 273.852 81.134C276.031 78.7823 277.73 75.9951 278.95 72.7724C280.257 69.4625 280.911 65.7172 280.911 61.5364C280.911 57.3556 280.257 53.6103 278.95 50.3005C277.73 46.9907 276.031 44.2034 273.852 41.9388C271.76 39.6742 269.277 37.9758 266.401 36.8435C263.612 35.6241 260.693 35.0144 257.643 35.0144C254.593 35.0144 251.63 35.6241 248.754 36.8435C245.965 38.0629 243.481 39.8484 241.303 42.2001C239.211 44.4647 237.512 47.252 236.205 50.5618C234.985 53.7845 234.375 57.4427 234.375 61.5364C234.375 65.6301 234.985 69.3319 236.205 72.6417C237.512 75.9515 239.211 78.7387 241.303 81.0033C243.481 83.268 245.965 85.01 248.754 86.2294C251.63 87.4488 254.593 88.0585 257.643 88.0585Z',
|
|
22551
|
+
fill: 'black'
|
|
22552
|
+
}),
|
|
22553
|
+
React.createElement('path', {
|
|
22554
|
+
d: 'M359.793 78.3903C358.66 80.7421 357.223 82.9631 355.48 85.0535C353.737 87.1439 351.689 88.973 349.336 90.5408C347.07 92.1087 344.456 93.3281 341.493 94.1991C338.53 95.1572 335.262 95.6362 331.689 95.6362C327.07 95.6362 322.8 94.8088 318.878 93.1539C314.957 91.4118 311.558 89.0166 308.682 85.9681C305.894 82.9196 303.715 79.3484 302.146 75.2547C300.578 71.0739 299.793 66.5011 299.793 61.5364C299.793 56.9201 300.491 52.5651 301.885 48.4714C303.366 44.2905 305.458 40.6759 308.159 37.6274C310.861 34.4917 314.129 32.0094 317.963 30.1803C321.798 28.3512 326.111 27.4366 330.905 27.4366C335.523 27.4366 339.663 28.2641 343.323 29.919C347.07 31.4868 350.251 33.7514 352.865 36.7128C355.48 39.5871 357.484 43.0711 358.878 47.1649C360.36 51.2586 361.101 55.7878 361.101 60.7525C361.101 61.0138 361.101 61.2751 361.101 61.5364C361.013 61.7977 360.97 62.0155 360.97 62.1897V62.9736H308.29C308.377 67.4157 309.162 71.2046 310.643 74.3402C312.125 77.4758 313.998 80.0888 316.264 82.1792C318.53 84.1825 321.057 85.6632 323.846 86.6213C326.634 87.5794 329.336 88.0585 331.95 88.0585C337.353 88.0585 341.623 86.8391 344.761 84.4003C347.898 81.8744 350.512 78.6952 352.604 74.8628L359.793 78.3903ZM352.342 55.9184C352.255 53.828 351.82 51.5634 351.035 49.1246C350.251 46.6858 349.031 44.4212 347.375 42.3308C345.719 40.2404 343.497 38.4984 340.708 37.1048C338.007 35.7112 334.652 35.0144 330.643 35.0144C328.029 35.0144 325.501 35.4934 323.061 36.4515C320.621 37.3225 318.399 38.629 316.395 40.371C314.478 42.113 312.822 44.2905 311.427 46.9036C310.12 49.5166 309.249 52.5215 308.813 55.9184H352.342Z',
|
|
22555
|
+
fill: 'black'
|
|
22556
|
+
}),
|
|
22557
|
+
React.createElement('path', {
|
|
22558
|
+
d: 'M101.211 60.1065C101.211 60.1065 107.877 26.7486 76.2712 7.84631C76.4781 7.97189 58.3876 -4.7109 38.4167 3.42406C38.7673 3.78 35.9017 18.7582 45.3684 27.9065C45.161 27.7809 101.213 60.1093 101.213 60.1093',
|
|
22559
|
+
fill: 'url(#paint0_linear_100_16650)'
|
|
22560
|
+
}),
|
|
22561
|
+
React.createElement('path', {
|
|
22562
|
+
d: 'M100.141 65.9671C99.6608 66.1056 87.8509 56.4508 75.2936 60.4101C75.5028 60.2877 20.3579 94.1359 20.3579 94.1359C20.3579 94.1359 46.5252 115.888 78.2137 97.1233C78.0045 97.2452 97.7823 87.3929 100.141 65.9671',
|
|
22563
|
+
fill: 'url(#paint1_linear_100_16650)'
|
|
22564
|
+
}),
|
|
22565
|
+
React.createElement('path', {
|
|
22566
|
+
d: 'M31.9853 5.67737C31.9853 5.67737 -0.0892988 17.3353 0.153201 54.2498C0.153201 54.0065 -1.30549 76.1073 16.0681 88.9789C16.1905 88.4932 30.5257 83.1504 33.4426 70.2788C33.444 70.522 31.9853 5.67737 31.9853 5.67737Z',
|
|
22567
|
+
fill: 'url(#paint2_linear_100_16650)'
|
|
22568
|
+
}),
|
|
22569
|
+
React.createElement(
|
|
22570
|
+
'defs',
|
|
22571
|
+
null,
|
|
22572
|
+
React.createElement(
|
|
22573
|
+
'linearGradient',
|
|
22574
|
+
{ id: 'paint0_linear_100_16650', x1: '101.798', y1: '60.1093', x2: '43.5053', y2: '0.000186692', gradientUnits: 'userSpaceOnUse' },
|
|
22575
|
+
React.createElement('stop', { stopColor: '#95C3E6' }),
|
|
22576
|
+
React.createElement('stop', { offset: '1', stopColor: '#2672AB' })
|
|
22577
|
+
),
|
|
22578
|
+
React.createElement(
|
|
22579
|
+
'linearGradient',
|
|
22580
|
+
{ id: 'paint1_linear_100_16650', x1: '21.3951', y1: '93.8819', x2: '70.8134', y2: '39.2931', gradientUnits: 'userSpaceOnUse' },
|
|
22581
|
+
React.createElement('stop', { stopColor: '#9494F3' }),
|
|
22582
|
+
React.createElement('stop', { offset: '1', stopColor: '#2626C4' })
|
|
22583
|
+
),
|
|
22584
|
+
React.createElement(
|
|
22585
|
+
'linearGradient',
|
|
22586
|
+
{ id: 'paint2_linear_100_16650', x1: '31.6767', y1: '5.67737', x2: '-17.9893', y2: '50.1198', gradientUnits: 'userSpaceOnUse' },
|
|
22587
|
+
React.createElement('stop', { stopColor: '#14DA9E' }),
|
|
22588
|
+
React.createElement('stop', { offset: '1', stopColor: '#26B489' })
|
|
22589
|
+
)
|
|
22590
|
+
)
|
|
22591
|
+
);
|
|
22592
|
+
};
|
|
22593
|
+
var defaultSocial = [
|
|
22594
|
+
{ label: 'Instagram', href: '#', iconName: 'ui-instagram' },
|
|
22595
|
+
{ label: 'LinkedIn', href: '#', iconName: 'ui-linkedin' },
|
|
22596
|
+
{ label: 'Facebook', href: '#', iconName: 'ui-facebook' }
|
|
22597
|
+
];
|
|
22598
|
+
var defaultColumns = [
|
|
22599
|
+
{
|
|
22600
|
+
title: 'Bestemmingen',
|
|
22601
|
+
links: [
|
|
22602
|
+
{ label: 'Spanje', href: '#' },
|
|
22603
|
+
{ label: 'Kroatië', href: '#' },
|
|
22604
|
+
{ label: 'Tenerife', href: '#' },
|
|
22605
|
+
{ label: 'Griekenland', href: '#' },
|
|
22606
|
+
{ label: 'Ibiza', href: '#' }
|
|
22607
|
+
]
|
|
22608
|
+
},
|
|
22609
|
+
{
|
|
22610
|
+
title: 'Themareizen',
|
|
22611
|
+
links: [
|
|
22612
|
+
{ label: 'Huwlijksreizen', href: '#' },
|
|
22613
|
+
{ label: 'Familiereizen', href: '#' },
|
|
22614
|
+
{ label: 'Groepsreizen', href: '#' },
|
|
22615
|
+
{ label: 'Golf', href: '#' },
|
|
22616
|
+
{ label: 'Sport', href: '#' }
|
|
22617
|
+
]
|
|
22618
|
+
},
|
|
22619
|
+
{
|
|
22620
|
+
title: 'Info diensten',
|
|
22621
|
+
links: [
|
|
22622
|
+
{ label: 'Privacy Policy', href: '#' },
|
|
22623
|
+
{ label: 'Terms of Service', href: '#' },
|
|
22624
|
+
{ label: 'About us', href: '#' },
|
|
22625
|
+
{ label: 'Contact Us', href: '#' }
|
|
22626
|
+
]
|
|
22627
|
+
},
|
|
22628
|
+
{
|
|
22629
|
+
title: 'About us',
|
|
22630
|
+
links: [
|
|
22631
|
+
{ label: 'Privacy Policy', href: '#' },
|
|
22632
|
+
{ label: 'Terms of Service', href: '#' },
|
|
22633
|
+
{ label: 'About us', href: '#' },
|
|
22634
|
+
{ label: 'Contact Us', href: '#' }
|
|
22635
|
+
]
|
|
22636
|
+
}
|
|
22637
|
+
];
|
|
22638
|
+
var defaultPayments = [
|
|
22639
|
+
{ src: 'https://koningaap.be/public/KoningAap/payments/bancontactmrcash-logo.svg', alt: 'bank' },
|
|
22640
|
+
{ src: 'https://koningaap.be/public/KoningAap/payments/mastercard-logo.svg', alt: 'mastercard' },
|
|
22641
|
+
{ src: 'https://www.tui.be/sites/all/themes/tui/img/maestro.png', alt: 'maestro' },
|
|
22642
|
+
{ src: 'https://koningaap.be/public/KoningAap/payments/visa-logo.svg', alt: 'visa' },
|
|
22643
|
+
{ src: 'https://1000logos.net/wp-content/uploads/2016/10/American-Express-logo.png', alt: 'american express' }
|
|
22644
|
+
];
|
|
22645
|
+
var Footer = function (_a) {
|
|
22646
|
+
var className = _a.className,
|
|
22647
|
+
logo = _a.logo,
|
|
22648
|
+
_b = _a.social,
|
|
22649
|
+
social = _b === void 0 ? defaultSocial : _b,
|
|
22650
|
+
_c = _a.columns,
|
|
22651
|
+
columns = _c === void 0 ? defaultColumns : _c,
|
|
22652
|
+
_d = _a.copyrightText,
|
|
22653
|
+
copyrightText = _d === void 0 ? '© 2024 Travel Agency. All rights reserved.' : _d,
|
|
22654
|
+
_e = _a.payments,
|
|
22655
|
+
payments = _e === void 0 ? defaultPayments : _e;
|
|
22656
|
+
return React.createElement(
|
|
22657
|
+
'footer',
|
|
22658
|
+
{ className: ['footer', className].filter(Boolean).join(' ') },
|
|
22659
|
+
React.createElement(
|
|
22660
|
+
'div',
|
|
22661
|
+
{ className: 'footer__container' },
|
|
22662
|
+
React.createElement(
|
|
22663
|
+
'div',
|
|
22664
|
+
{ className: 'footer__top' },
|
|
22665
|
+
React.createElement('div', { className: 'footer__logo' }, logo !== null && logo !== void 0 ? logo : React.createElement(DefaultLogo, null)),
|
|
22666
|
+
React.createElement(
|
|
22667
|
+
'div',
|
|
22668
|
+
{ className: 'footer__social' },
|
|
22669
|
+
social.map(function (item) {
|
|
22670
|
+
return React.createElement(
|
|
22671
|
+
'a',
|
|
22672
|
+
{ key: item.label, href: item.href, className: 'footer__social__link', 'aria-label': item.label },
|
|
22673
|
+
React.createElement(Icon$2, { name: item.iconName, width: 24, height: 24 })
|
|
22674
|
+
);
|
|
22675
|
+
})
|
|
22676
|
+
)
|
|
22677
|
+
),
|
|
22678
|
+
React.createElement(
|
|
22679
|
+
'div',
|
|
22680
|
+
{ className: 'footer__wrapper' },
|
|
22681
|
+
columns.map(function (col) {
|
|
22682
|
+
return React.createElement(
|
|
22683
|
+
'div',
|
|
22684
|
+
{ key: col.title, className: 'footer__links' },
|
|
22685
|
+
React.createElement('h5', { className: 'footer__link__title' }, col.title),
|
|
22686
|
+
col.links.map(function (link) {
|
|
22687
|
+
var _a;
|
|
22688
|
+
return React.createElement(
|
|
22689
|
+
'a',
|
|
22690
|
+
{ key: ''.concat(col.title, '-').concat(link.label), href: (_a = link.href) !== null && _a !== void 0 ? _a : '#', className: 'footer__link' },
|
|
22691
|
+
link.label
|
|
22692
|
+
);
|
|
22693
|
+
})
|
|
22694
|
+
);
|
|
22695
|
+
})
|
|
22696
|
+
),
|
|
22697
|
+
React.createElement('div', { className: 'footer__line' }),
|
|
22698
|
+
React.createElement(
|
|
22699
|
+
'div',
|
|
22700
|
+
{ className: 'footer__bottom' },
|
|
22701
|
+
React.createElement('p', { className: 'footer__copyright' }, copyrightText),
|
|
22702
|
+
React.createElement(
|
|
22703
|
+
'div',
|
|
22704
|
+
{ className: 'footer__payments' },
|
|
22705
|
+
payments.map(function (p) {
|
|
22706
|
+
return React.createElement('img', { key: p.src, src: p.src, alt: p.alt });
|
|
22707
|
+
})
|
|
22708
|
+
)
|
|
22709
|
+
)
|
|
22710
|
+
)
|
|
22711
|
+
);
|
|
22712
|
+
};
|
|
22713
|
+
|
|
22540
22714
|
var QSMConfigurationContext = React.createContext({
|
|
22541
22715
|
type: 'hotel',
|
|
22542
22716
|
askTravelers: false,
|
|
@@ -30212,4 +30386,4 @@ var SearchResults = function (_a) {
|
|
|
30212
30386
|
);
|
|
30213
30387
|
};
|
|
30214
30388
|
|
|
30215
|
-
export { BookingProduct, BookingWizard, Header, Navbar, QSM, SearchResults };
|
|
30389
|
+
export { BookingProduct, BookingWizard, Footer, Header, Navbar, QSM, SearchResults };
|
|
@@ -42,11 +42,14 @@ export interface BaseFieldConfig {
|
|
|
42
42
|
fieldKey: string;
|
|
43
43
|
label: string;
|
|
44
44
|
placeholder: string;
|
|
45
|
-
options:
|
|
46
|
-
key: string;
|
|
47
|
-
value: string;
|
|
48
|
-
}[];
|
|
45
|
+
options: TypeaheadOption[];
|
|
49
46
|
}
|
|
47
|
+
export interface TypeaheadOption {
|
|
48
|
+
key: string;
|
|
49
|
+
value: string;
|
|
50
|
+
type: OptionType;
|
|
51
|
+
}
|
|
52
|
+
export type OptionType = 'country' | 'region' | 'oord' | 'location' | 'airport' | 'hotel' | 'other';
|
|
50
53
|
export interface SingleFieldConfig extends BaseFieldConfig {
|
|
51
54
|
type: 'single';
|
|
52
55
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Icon from './icon';
|
|
3
|
+
|
|
4
|
+
interface AccordionProps {
|
|
5
|
+
summary: React.ReactNode;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
defaultOpen?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default function Accordion({ summary, children, defaultOpen = false, className = '' }: AccordionProps) {
|
|
12
|
+
const [open, setOpen] = React.useState(defaultOpen);
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<div className={['accordion', open && 'accordion--open', className].filter(Boolean).join(' ')}>
|
|
16
|
+
<button className="accordion__trigger" type="button" aria-expanded={open} onClick={() => setOpen((v) => !v)}>
|
|
17
|
+
<span>{summary}</span>
|
|
18
|
+
<span className="accordion__icon" aria-hidden>
|
|
19
|
+
<Icon name="ui-chevron" width={20} height={20} />
|
|
20
|
+
</span>
|
|
21
|
+
</button>
|
|
22
|
+
|
|
23
|
+
<div className="accordion__panel">
|
|
24
|
+
<div className="accordion__panelInner">
|
|
25
|
+
<div className="accordion__content">{children}</div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -12,6 +12,7 @@ type BreadcrumbsProps = {
|
|
|
12
12
|
items: BreadcrumbItem[];
|
|
13
13
|
separator?: React.ReactNode;
|
|
14
14
|
ariaLabel?: string;
|
|
15
|
+
noHeader?: boolean;
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
export default function Breadcrumbs({
|
|
@@ -21,12 +22,13 @@ export default function Breadcrumbs({
|
|
|
21
22
|
/
|
|
22
23
|
</span>
|
|
23
24
|
),
|
|
24
|
-
ariaLabel = 'Breadcrumb'
|
|
25
|
+
ariaLabel = 'Breadcrumb',
|
|
26
|
+
noHeader = false
|
|
25
27
|
}: BreadcrumbsProps) {
|
|
26
28
|
const lastIndex = items.length - 1;
|
|
27
29
|
|
|
28
30
|
return (
|
|
29
|
-
<nav className=
|
|
31
|
+
<nav className={`breadcrumb${noHeader ? ' breadcrumb--no-header' : ''}`} aria-label={ariaLabel}>
|
|
30
32
|
<div className="breadcrumb__container">
|
|
31
33
|
<ol className="breadcrumb__list">
|
|
32
34
|
{items.map((item, idx) => {
|