@qite/tide-booking-component 1.4.65 → 1.4.67
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/index.js +122 -0
- package/build/build-cjs/src/content/components/breadcrumb.d.ts +3 -5
- package/build/build-cjs/src/content/components/faq.d.ts +2 -1
- package/build/build-cjs/src/index.d.ts +18 -1
- package/build/build-esm/index.js +122 -0
- package/build/build-esm/src/content/components/breadcrumb.d.ts +3 -5
- package/build/build-esm/src/content/components/faq.d.ts +2 -1
- package/build/build-esm/src/index.d.ts +18 -1
- package/package.json +1 -1
- package/src/content/components/breadcrumb.tsx +11 -16
- package/src/content/components/faq.tsx +17 -11
- package/src/index.ts +18 -1
package/build/build-cjs/index.js
CHANGED
|
@@ -45185,6 +45185,126 @@ var PhotoGallery = function (_a) {
|
|
|
45185
45185
|
);
|
|
45186
45186
|
};
|
|
45187
45187
|
|
|
45188
|
+
var Breadcrumbs = function (_a) {
|
|
45189
|
+
var items = _a.items,
|
|
45190
|
+
_b = _a.noHeader,
|
|
45191
|
+
noHeader = _b === void 0 ? false : _b;
|
|
45192
|
+
var lastIndex = items.length - 1;
|
|
45193
|
+
return React__default['default'].createElement(
|
|
45194
|
+
'nav',
|
|
45195
|
+
{ className: 'breadcrumb'.concat(noHeader ? ' breadcrumb--no-header' : ''), 'aria-label': 'Breadcrumb' },
|
|
45196
|
+
React__default['default'].createElement(
|
|
45197
|
+
'div',
|
|
45198
|
+
{ className: 'breadcrumb__container' },
|
|
45199
|
+
React__default['default'].createElement(
|
|
45200
|
+
'ol',
|
|
45201
|
+
{ className: 'breadcrumb__list' },
|
|
45202
|
+
items.map(function (item, idx) {
|
|
45203
|
+
var _a;
|
|
45204
|
+
var isCurrent = (_a = item.isCurrent) !== null && _a !== void 0 ? _a : idx === lastIndex;
|
|
45205
|
+
var content = React__default['default'].createElement(
|
|
45206
|
+
'span',
|
|
45207
|
+
{ className: 'breadcrumb__content' },
|
|
45208
|
+
item.icon && React__default['default'].createElement('span', { className: 'breadcrumb__icon', 'aria-hidden': 'true' }, item.icon),
|
|
45209
|
+
item.label && React__default['default'].createElement('span', { className: 'breadcrumb__label', title: item.label }, item.label)
|
|
45210
|
+
);
|
|
45211
|
+
return React__default['default'].createElement(
|
|
45212
|
+
'li',
|
|
45213
|
+
{ key: idx, className: 'breadcrumb__item' },
|
|
45214
|
+
idx > 0 && React__default['default'].createElement('span', { className: 'breadcrumb__separator', 'aria-hidden': 'true' }, '/'),
|
|
45215
|
+
isCurrent || !item.href
|
|
45216
|
+
? React__default['default'].createElement('span', { className: 'breadcrumb__current', 'aria-current': isCurrent ? 'page' : undefined }, content)
|
|
45217
|
+
: React__default['default'].createElement('a', { className: 'breadcrumb__link', href: item.href, onClick: item.onClick }, content)
|
|
45218
|
+
);
|
|
45219
|
+
})
|
|
45220
|
+
)
|
|
45221
|
+
)
|
|
45222
|
+
);
|
|
45223
|
+
};
|
|
45224
|
+
|
|
45225
|
+
function Accordion(_a) {
|
|
45226
|
+
var summary = _a.summary,
|
|
45227
|
+
children = _a.children,
|
|
45228
|
+
_b = _a.defaultOpen,
|
|
45229
|
+
defaultOpen = _b === void 0 ? false : _b,
|
|
45230
|
+
_c = _a.className,
|
|
45231
|
+
className = _c === void 0 ? '' : _c;
|
|
45232
|
+
var _d = React__default['default'].useState(defaultOpen),
|
|
45233
|
+
open = _d[0],
|
|
45234
|
+
setOpen = _d[1];
|
|
45235
|
+
return React__default['default'].createElement(
|
|
45236
|
+
'div',
|
|
45237
|
+
{ className: ['accordion', open && 'accordion--open', className].filter(Boolean).join(' ') },
|
|
45238
|
+
React__default['default'].createElement(
|
|
45239
|
+
'button',
|
|
45240
|
+
{
|
|
45241
|
+
className: 'accordion__trigger',
|
|
45242
|
+
type: 'button',
|
|
45243
|
+
'aria-expanded': open,
|
|
45244
|
+
onClick: function () {
|
|
45245
|
+
return setOpen(function (v) {
|
|
45246
|
+
return !v;
|
|
45247
|
+
});
|
|
45248
|
+
}
|
|
45249
|
+
},
|
|
45250
|
+
React__default['default'].createElement('span', null, summary),
|
|
45251
|
+
React__default['default'].createElement(
|
|
45252
|
+
'span',
|
|
45253
|
+
{ className: 'accordion__icon', 'aria-hidden': true },
|
|
45254
|
+
React__default['default'].createElement(Icon$3, { name: 'ui-chevron', width: 20, height: 20 })
|
|
45255
|
+
)
|
|
45256
|
+
),
|
|
45257
|
+
React__default['default'].createElement(
|
|
45258
|
+
'div',
|
|
45259
|
+
{ className: 'accordion__panel' },
|
|
45260
|
+
React__default['default'].createElement(
|
|
45261
|
+
'div',
|
|
45262
|
+
{ className: 'accordion__panelInner' },
|
|
45263
|
+
React__default['default'].createElement('div', { className: 'accordion__content' }, children)
|
|
45264
|
+
)
|
|
45265
|
+
)
|
|
45266
|
+
);
|
|
45267
|
+
}
|
|
45268
|
+
|
|
45269
|
+
var FAQ = function (_a) {
|
|
45270
|
+
var items = _a.items,
|
|
45271
|
+
_b = _a.title,
|
|
45272
|
+
title = _b === void 0 ? 'Frequently Asked Questions' : _b;
|
|
45273
|
+
if (!(items === null || items === void 0 ? void 0 : items.length)) {
|
|
45274
|
+
return React__default['default'].createElement(
|
|
45275
|
+
'section',
|
|
45276
|
+
{ className: 'faq' },
|
|
45277
|
+
React__default['default'].createElement('h2', { className: 'faq__title' }, title),
|
|
45278
|
+
React__default['default'].createElement('p', { className: 'faq__empty' }, 'No FAQs available.')
|
|
45279
|
+
);
|
|
45280
|
+
}
|
|
45281
|
+
return React__default['default'].createElement(
|
|
45282
|
+
'div',
|
|
45283
|
+
{ className: 'content' },
|
|
45284
|
+
React__default['default'].createElement(
|
|
45285
|
+
'div',
|
|
45286
|
+
{ className: 'content__container content__container--small' },
|
|
45287
|
+
React__default['default'].createElement(
|
|
45288
|
+
'section',
|
|
45289
|
+
{ className: 'faq' },
|
|
45290
|
+
React__default['default'].createElement('h2', { className: 'faq__title' }, title),
|
|
45291
|
+
React__default['default'].createElement(
|
|
45292
|
+
'div',
|
|
45293
|
+
{ className: 'faq__list' },
|
|
45294
|
+
items.map(function (item, idx) {
|
|
45295
|
+
var _a;
|
|
45296
|
+
return React__default['default'].createElement(
|
|
45297
|
+
Accordion,
|
|
45298
|
+
{ key: (_a = item.question) !== null && _a !== void 0 ? _a : idx, summary: item.question },
|
|
45299
|
+
React__default['default'].createElement('div', { className: 'faq__answer' }, item.answer)
|
|
45300
|
+
);
|
|
45301
|
+
})
|
|
45302
|
+
)
|
|
45303
|
+
)
|
|
45304
|
+
)
|
|
45305
|
+
);
|
|
45306
|
+
};
|
|
45307
|
+
|
|
45188
45308
|
var signalR$1 = {};
|
|
45189
45309
|
|
|
45190
45310
|
var jqueryDeferred$1 = { exports: {} };
|
|
@@ -49081,6 +49201,8 @@ var signalR = /*#__PURE__*/ _mergeNamespaces(
|
|
|
49081
49201
|
|
|
49082
49202
|
exports.BookingProduct = BookingProduct;
|
|
49083
49203
|
exports.BookingWizard = BookingWizard;
|
|
49204
|
+
exports.Breadcrumbs = Breadcrumbs;
|
|
49205
|
+
exports.FAQ = FAQ;
|
|
49084
49206
|
exports.Footer = Footer;
|
|
49085
49207
|
exports.Header = Header;
|
|
49086
49208
|
exports.ImageCardGrid = ImageCardGrid;
|
|
@@ -6,11 +6,9 @@ export type BreadcrumbItem = {
|
|
|
6
6
|
icon?: React.ReactNode;
|
|
7
7
|
isCurrent?: boolean;
|
|
8
8
|
};
|
|
9
|
-
type BreadcrumbsProps = {
|
|
9
|
+
export type BreadcrumbsProps = {
|
|
10
10
|
items: BreadcrumbItem[];
|
|
11
|
-
separator?: React.ReactNode;
|
|
12
|
-
ariaLabel?: string;
|
|
13
11
|
noHeader?: boolean;
|
|
14
12
|
};
|
|
15
|
-
|
|
16
|
-
export
|
|
13
|
+
declare const Breadcrumbs: React.FC<BreadcrumbsProps>;
|
|
14
|
+
export default Breadcrumbs;
|
|
@@ -10,6 +10,8 @@ import Login from './content/login';
|
|
|
10
10
|
import ImageWithTextSection from './content/image-with-text-section';
|
|
11
11
|
import Slider from './content/components/slider';
|
|
12
12
|
import PhotoGallery from './content/components/gallery';
|
|
13
|
+
import Breadcrumbs from './content/components/breadcrumb';
|
|
14
|
+
import FAQ from './content/components/faq';
|
|
13
15
|
export * from './content/navbar/types';
|
|
14
16
|
export * from './content/header/types';
|
|
15
17
|
export * from './content/footer/types';
|
|
@@ -19,4 +21,19 @@ export * from './content/image-with-text-section/types';
|
|
|
19
21
|
export * from './search-results/types';
|
|
20
22
|
export * from './qsm/types';
|
|
21
23
|
export * from './shared/types';
|
|
22
|
-
export {
|
|
24
|
+
export {
|
|
25
|
+
BookingProduct,
|
|
26
|
+
BookingWizard,
|
|
27
|
+
QSM,
|
|
28
|
+
SearchResults,
|
|
29
|
+
Navbar,
|
|
30
|
+
Header,
|
|
31
|
+
Footer,
|
|
32
|
+
ImageCardGrid,
|
|
33
|
+
Login,
|
|
34
|
+
ImageWithTextSection,
|
|
35
|
+
Slider,
|
|
36
|
+
PhotoGallery,
|
|
37
|
+
Breadcrumbs,
|
|
38
|
+
FAQ
|
|
39
|
+
};
|
package/build/build-esm/index.js
CHANGED
|
@@ -44888,6 +44888,126 @@ var PhotoGallery = function (_a) {
|
|
|
44888
44888
|
);
|
|
44889
44889
|
};
|
|
44890
44890
|
|
|
44891
|
+
var Breadcrumbs = function (_a) {
|
|
44892
|
+
var items = _a.items,
|
|
44893
|
+
_b = _a.noHeader,
|
|
44894
|
+
noHeader = _b === void 0 ? false : _b;
|
|
44895
|
+
var lastIndex = items.length - 1;
|
|
44896
|
+
return React__default.createElement(
|
|
44897
|
+
'nav',
|
|
44898
|
+
{ className: 'breadcrumb'.concat(noHeader ? ' breadcrumb--no-header' : ''), 'aria-label': 'Breadcrumb' },
|
|
44899
|
+
React__default.createElement(
|
|
44900
|
+
'div',
|
|
44901
|
+
{ className: 'breadcrumb__container' },
|
|
44902
|
+
React__default.createElement(
|
|
44903
|
+
'ol',
|
|
44904
|
+
{ className: 'breadcrumb__list' },
|
|
44905
|
+
items.map(function (item, idx) {
|
|
44906
|
+
var _a;
|
|
44907
|
+
var isCurrent = (_a = item.isCurrent) !== null && _a !== void 0 ? _a : idx === lastIndex;
|
|
44908
|
+
var content = React__default.createElement(
|
|
44909
|
+
'span',
|
|
44910
|
+
{ className: 'breadcrumb__content' },
|
|
44911
|
+
item.icon && React__default.createElement('span', { className: 'breadcrumb__icon', 'aria-hidden': 'true' }, item.icon),
|
|
44912
|
+
item.label && React__default.createElement('span', { className: 'breadcrumb__label', title: item.label }, item.label)
|
|
44913
|
+
);
|
|
44914
|
+
return React__default.createElement(
|
|
44915
|
+
'li',
|
|
44916
|
+
{ key: idx, className: 'breadcrumb__item' },
|
|
44917
|
+
idx > 0 && React__default.createElement('span', { className: 'breadcrumb__separator', 'aria-hidden': 'true' }, '/'),
|
|
44918
|
+
isCurrent || !item.href
|
|
44919
|
+
? React__default.createElement('span', { className: 'breadcrumb__current', 'aria-current': isCurrent ? 'page' : undefined }, content)
|
|
44920
|
+
: React__default.createElement('a', { className: 'breadcrumb__link', href: item.href, onClick: item.onClick }, content)
|
|
44921
|
+
);
|
|
44922
|
+
})
|
|
44923
|
+
)
|
|
44924
|
+
)
|
|
44925
|
+
);
|
|
44926
|
+
};
|
|
44927
|
+
|
|
44928
|
+
function Accordion(_a) {
|
|
44929
|
+
var summary = _a.summary,
|
|
44930
|
+
children = _a.children,
|
|
44931
|
+
_b = _a.defaultOpen,
|
|
44932
|
+
defaultOpen = _b === void 0 ? false : _b,
|
|
44933
|
+
_c = _a.className,
|
|
44934
|
+
className = _c === void 0 ? '' : _c;
|
|
44935
|
+
var _d = React__default.useState(defaultOpen),
|
|
44936
|
+
open = _d[0],
|
|
44937
|
+
setOpen = _d[1];
|
|
44938
|
+
return React__default.createElement(
|
|
44939
|
+
'div',
|
|
44940
|
+
{ className: ['accordion', open && 'accordion--open', className].filter(Boolean).join(' ') },
|
|
44941
|
+
React__default.createElement(
|
|
44942
|
+
'button',
|
|
44943
|
+
{
|
|
44944
|
+
className: 'accordion__trigger',
|
|
44945
|
+
type: 'button',
|
|
44946
|
+
'aria-expanded': open,
|
|
44947
|
+
onClick: function () {
|
|
44948
|
+
return setOpen(function (v) {
|
|
44949
|
+
return !v;
|
|
44950
|
+
});
|
|
44951
|
+
}
|
|
44952
|
+
},
|
|
44953
|
+
React__default.createElement('span', null, summary),
|
|
44954
|
+
React__default.createElement(
|
|
44955
|
+
'span',
|
|
44956
|
+
{ className: 'accordion__icon', 'aria-hidden': true },
|
|
44957
|
+
React__default.createElement(Icon$3, { name: 'ui-chevron', width: 20, height: 20 })
|
|
44958
|
+
)
|
|
44959
|
+
),
|
|
44960
|
+
React__default.createElement(
|
|
44961
|
+
'div',
|
|
44962
|
+
{ className: 'accordion__panel' },
|
|
44963
|
+
React__default.createElement(
|
|
44964
|
+
'div',
|
|
44965
|
+
{ className: 'accordion__panelInner' },
|
|
44966
|
+
React__default.createElement('div', { className: 'accordion__content' }, children)
|
|
44967
|
+
)
|
|
44968
|
+
)
|
|
44969
|
+
);
|
|
44970
|
+
}
|
|
44971
|
+
|
|
44972
|
+
var FAQ = function (_a) {
|
|
44973
|
+
var items = _a.items,
|
|
44974
|
+
_b = _a.title,
|
|
44975
|
+
title = _b === void 0 ? 'Frequently Asked Questions' : _b;
|
|
44976
|
+
if (!(items === null || items === void 0 ? void 0 : items.length)) {
|
|
44977
|
+
return React__default.createElement(
|
|
44978
|
+
'section',
|
|
44979
|
+
{ className: 'faq' },
|
|
44980
|
+
React__default.createElement('h2', { className: 'faq__title' }, title),
|
|
44981
|
+
React__default.createElement('p', { className: 'faq__empty' }, 'No FAQs available.')
|
|
44982
|
+
);
|
|
44983
|
+
}
|
|
44984
|
+
return React__default.createElement(
|
|
44985
|
+
'div',
|
|
44986
|
+
{ className: 'content' },
|
|
44987
|
+
React__default.createElement(
|
|
44988
|
+
'div',
|
|
44989
|
+
{ className: 'content__container content__container--small' },
|
|
44990
|
+
React__default.createElement(
|
|
44991
|
+
'section',
|
|
44992
|
+
{ className: 'faq' },
|
|
44993
|
+
React__default.createElement('h2', { className: 'faq__title' }, title),
|
|
44994
|
+
React__default.createElement(
|
|
44995
|
+
'div',
|
|
44996
|
+
{ className: 'faq__list' },
|
|
44997
|
+
items.map(function (item, idx) {
|
|
44998
|
+
var _a;
|
|
44999
|
+
return React__default.createElement(
|
|
45000
|
+
Accordion,
|
|
45001
|
+
{ key: (_a = item.question) !== null && _a !== void 0 ? _a : idx, summary: item.question },
|
|
45002
|
+
React__default.createElement('div', { className: 'faq__answer' }, item.answer)
|
|
45003
|
+
);
|
|
45004
|
+
})
|
|
45005
|
+
)
|
|
45006
|
+
)
|
|
45007
|
+
)
|
|
45008
|
+
);
|
|
45009
|
+
};
|
|
45010
|
+
|
|
44891
45011
|
var signalR$1 = {};
|
|
44892
45012
|
|
|
44893
45013
|
var jqueryDeferred$1 = { exports: {} };
|
|
@@ -48785,7 +48905,9 @@ var signalR = /*#__PURE__*/ _mergeNamespaces(
|
|
|
48785
48905
|
export {
|
|
48786
48906
|
BookingProduct,
|
|
48787
48907
|
BookingWizard,
|
|
48908
|
+
Breadcrumbs,
|
|
48788
48909
|
DepartureRange,
|
|
48910
|
+
FAQ,
|
|
48789
48911
|
Footer,
|
|
48790
48912
|
Header,
|
|
48791
48913
|
ImageCardGrid,
|
|
@@ -6,11 +6,9 @@ export type BreadcrumbItem = {
|
|
|
6
6
|
icon?: React.ReactNode;
|
|
7
7
|
isCurrent?: boolean;
|
|
8
8
|
};
|
|
9
|
-
type BreadcrumbsProps = {
|
|
9
|
+
export type BreadcrumbsProps = {
|
|
10
10
|
items: BreadcrumbItem[];
|
|
11
|
-
separator?: React.ReactNode;
|
|
12
|
-
ariaLabel?: string;
|
|
13
11
|
noHeader?: boolean;
|
|
14
12
|
};
|
|
15
|
-
|
|
16
|
-
export
|
|
13
|
+
declare const Breadcrumbs: React.FC<BreadcrumbsProps>;
|
|
14
|
+
export default Breadcrumbs;
|
|
@@ -10,6 +10,8 @@ import Login from './content/login';
|
|
|
10
10
|
import ImageWithTextSection from './content/image-with-text-section';
|
|
11
11
|
import Slider from './content/components/slider';
|
|
12
12
|
import PhotoGallery from './content/components/gallery';
|
|
13
|
+
import Breadcrumbs from './content/components/breadcrumb';
|
|
14
|
+
import FAQ from './content/components/faq';
|
|
13
15
|
export * from './content/navbar/types';
|
|
14
16
|
export * from './content/header/types';
|
|
15
17
|
export * from './content/footer/types';
|
|
@@ -19,4 +21,19 @@ export * from './content/image-with-text-section/types';
|
|
|
19
21
|
export * from './search-results/types';
|
|
20
22
|
export * from './qsm/types';
|
|
21
23
|
export * from './shared/types';
|
|
22
|
-
export {
|
|
24
|
+
export {
|
|
25
|
+
BookingProduct,
|
|
26
|
+
BookingWizard,
|
|
27
|
+
QSM,
|
|
28
|
+
SearchResults,
|
|
29
|
+
Navbar,
|
|
30
|
+
Header,
|
|
31
|
+
Footer,
|
|
32
|
+
ImageCardGrid,
|
|
33
|
+
Login,
|
|
34
|
+
ImageWithTextSection,
|
|
35
|
+
Slider,
|
|
36
|
+
PhotoGallery,
|
|
37
|
+
Breadcrumbs,
|
|
38
|
+
FAQ
|
|
39
|
+
};
|
package/package.json
CHANGED
|
@@ -8,27 +8,16 @@ export type BreadcrumbItem = {
|
|
|
8
8
|
isCurrent?: boolean;
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
type BreadcrumbsProps = {
|
|
11
|
+
export type BreadcrumbsProps = {
|
|
12
12
|
items: BreadcrumbItem[];
|
|
13
|
-
separator?: React.ReactNode;
|
|
14
|
-
ariaLabel?: string;
|
|
15
13
|
noHeader?: boolean;
|
|
16
14
|
};
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
items,
|
|
20
|
-
separator = (
|
|
21
|
-
<span className="breadcrumb__separator" aria-hidden="true">
|
|
22
|
-
/
|
|
23
|
-
</span>
|
|
24
|
-
),
|
|
25
|
-
ariaLabel = 'Breadcrumb',
|
|
26
|
-
noHeader = false
|
|
27
|
-
}: BreadcrumbsProps) {
|
|
16
|
+
const Breadcrumbs: React.FC<BreadcrumbsProps> = ({ items, noHeader = false }) => {
|
|
28
17
|
const lastIndex = items.length - 1;
|
|
29
18
|
|
|
30
19
|
return (
|
|
31
|
-
<nav className={`breadcrumb${noHeader ? ' breadcrumb--no-header' : ''}`} aria-label=
|
|
20
|
+
<nav className={`breadcrumb${noHeader ? ' breadcrumb--no-header' : ''}`} aria-label="Breadcrumb">
|
|
32
21
|
<div className="breadcrumb__container">
|
|
33
22
|
<ol className="breadcrumb__list">
|
|
34
23
|
{items.map((item, idx) => {
|
|
@@ -51,7 +40,11 @@ export default function Breadcrumbs({
|
|
|
51
40
|
|
|
52
41
|
return (
|
|
53
42
|
<li key={idx} className="breadcrumb__item">
|
|
54
|
-
{idx > 0 &&
|
|
43
|
+
{idx > 0 && (
|
|
44
|
+
<span className="breadcrumb__separator" aria-hidden="true">
|
|
45
|
+
/
|
|
46
|
+
</span>
|
|
47
|
+
)}
|
|
55
48
|
|
|
56
49
|
{isCurrent || !item.href ? (
|
|
57
50
|
<span className="breadcrumb__current" aria-current={isCurrent ? 'page' : undefined}>
|
|
@@ -69,4 +62,6 @@ export default function Breadcrumbs({
|
|
|
69
62
|
</div>
|
|
70
63
|
</nav>
|
|
71
64
|
);
|
|
72
|
-
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export default Breadcrumbs;
|
|
@@ -11,7 +11,7 @@ export interface FAQProps {
|
|
|
11
11
|
title?: string;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
const FAQ: React.FC<FAQProps> = ({ items, title = 'Frequently Asked Questions' }) => {
|
|
15
15
|
if (!items?.length) {
|
|
16
16
|
return (
|
|
17
17
|
<section className="faq">
|
|
@@ -22,15 +22,21 @@ export default function FAQ({ items, title = 'Frequently Asked Questions' }: FAQ
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
return (
|
|
25
|
-
<
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
<div className="content">
|
|
26
|
+
<div className="content__container content__container--small">
|
|
27
|
+
<section className="faq">
|
|
28
|
+
<h2 className="faq__title">{title}</h2>
|
|
29
|
+
<div className="faq__list">
|
|
30
|
+
{items.map((item, idx) => (
|
|
31
|
+
<Accordion key={item.question ?? idx} summary={item.question}>
|
|
32
|
+
<div className="faq__answer">{item.answer}</div>
|
|
33
|
+
</Accordion>
|
|
34
|
+
))}
|
|
35
|
+
</div>
|
|
36
|
+
</section>
|
|
33
37
|
</div>
|
|
34
|
-
</
|
|
38
|
+
</div>
|
|
35
39
|
);
|
|
36
|
-
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export default FAQ;
|
package/src/index.ts
CHANGED
|
@@ -10,6 +10,8 @@ import Login from './content/login';
|
|
|
10
10
|
import ImageWithTextSection from './content/image-with-text-section';
|
|
11
11
|
import Slider from './content/components/slider';
|
|
12
12
|
import PhotoGallery from './content/components/gallery';
|
|
13
|
+
import Breadcrumbs from './content/components/breadcrumb';
|
|
14
|
+
import FAQ from './content/components/faq';
|
|
13
15
|
|
|
14
16
|
export * from './content/navbar/types';
|
|
15
17
|
export * from './content/header/types';
|
|
@@ -21,4 +23,19 @@ export * from './search-results/types';
|
|
|
21
23
|
export * from './qsm/types';
|
|
22
24
|
export * from './shared/types';
|
|
23
25
|
|
|
24
|
-
export {
|
|
26
|
+
export {
|
|
27
|
+
BookingProduct,
|
|
28
|
+
BookingWizard,
|
|
29
|
+
QSM,
|
|
30
|
+
SearchResults,
|
|
31
|
+
Navbar,
|
|
32
|
+
Header,
|
|
33
|
+
Footer,
|
|
34
|
+
ImageCardGrid,
|
|
35
|
+
Login,
|
|
36
|
+
ImageWithTextSection,
|
|
37
|
+
Slider,
|
|
38
|
+
PhotoGallery,
|
|
39
|
+
Breadcrumbs,
|
|
40
|
+
FAQ
|
|
41
|
+
};
|