@qite/tide-booking-component 1.4.65 → 1.4.66

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.
@@ -45185,6 +45185,43 @@ 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
+
45188
45225
  var signalR$1 = {};
45189
45226
 
45190
45227
  var jqueryDeferred$1 = { exports: {} };
@@ -49081,6 +49118,7 @@ var signalR = /*#__PURE__*/ _mergeNamespaces(
49081
49118
 
49082
49119
  exports.BookingProduct = BookingProduct;
49083
49120
  exports.BookingWizard = BookingWizard;
49121
+ exports.Breadcrumbs = Breadcrumbs;
49084
49122
  exports.Footer = Footer;
49085
49123
  exports.Header = Header;
49086
49124
  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
- export default function Breadcrumbs({ items, separator, ariaLabel, noHeader }: BreadcrumbsProps): React.JSX.Element;
16
- export {};
13
+ declare const Breadcrumbs: React.FC<BreadcrumbsProps>;
14
+ export default Breadcrumbs;
@@ -10,6 +10,7 @@ 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';
13
14
  export * from './content/navbar/types';
14
15
  export * from './content/header/types';
15
16
  export * from './content/footer/types';
@@ -19,4 +20,18 @@ export * from './content/image-with-text-section/types';
19
20
  export * from './search-results/types';
20
21
  export * from './qsm/types';
21
22
  export * from './shared/types';
22
- export { BookingProduct, BookingWizard, QSM, SearchResults, Navbar, Header, Footer, ImageCardGrid, Login, ImageWithTextSection, Slider, PhotoGallery };
23
+ export {
24
+ BookingProduct,
25
+ BookingWizard,
26
+ QSM,
27
+ SearchResults,
28
+ Navbar,
29
+ Header,
30
+ Footer,
31
+ ImageCardGrid,
32
+ Login,
33
+ ImageWithTextSection,
34
+ Slider,
35
+ PhotoGallery,
36
+ Breadcrumbs
37
+ };
@@ -44888,6 +44888,43 @@ 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
+
44891
44928
  var signalR$1 = {};
44892
44929
 
44893
44930
  var jqueryDeferred$1 = { exports: {} };
@@ -48785,6 +48822,7 @@ var signalR = /*#__PURE__*/ _mergeNamespaces(
48785
48822
  export {
48786
48823
  BookingProduct,
48787
48824
  BookingWizard,
48825
+ Breadcrumbs,
48788
48826
  DepartureRange,
48789
48827
  Footer,
48790
48828
  Header,
@@ -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
- export default function Breadcrumbs({ items, separator, ariaLabel, noHeader }: BreadcrumbsProps): React.JSX.Element;
16
- export {};
13
+ declare const Breadcrumbs: React.FC<BreadcrumbsProps>;
14
+ export default Breadcrumbs;
@@ -10,6 +10,7 @@ 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';
13
14
  export * from './content/navbar/types';
14
15
  export * from './content/header/types';
15
16
  export * from './content/footer/types';
@@ -19,4 +20,18 @@ export * from './content/image-with-text-section/types';
19
20
  export * from './search-results/types';
20
21
  export * from './qsm/types';
21
22
  export * from './shared/types';
22
- export { BookingProduct, BookingWizard, QSM, SearchResults, Navbar, Header, Footer, ImageCardGrid, Login, ImageWithTextSection, Slider, PhotoGallery };
23
+ export {
24
+ BookingProduct,
25
+ BookingWizard,
26
+ QSM,
27
+ SearchResults,
28
+ Navbar,
29
+ Header,
30
+ Footer,
31
+ ImageCardGrid,
32
+ Login,
33
+ ImageWithTextSection,
34
+ Slider,
35
+ PhotoGallery,
36
+ Breadcrumbs
37
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qite/tide-booking-component",
3
- "version": "1.4.65",
3
+ "version": "1.4.66",
4
4
  "description": "React Booking wizard & Booking product component for Tide",
5
5
  "main": "build/build-cjs/index.js",
6
6
  "types": "build/build-cjs/src/index.d.ts",
@@ -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
- export default function Breadcrumbs({
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={ariaLabel}>
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 && separator}
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;
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ 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';
13
14
 
14
15
  export * from './content/navbar/types';
15
16
  export * from './content/header/types';
@@ -21,4 +22,18 @@ export * from './search-results/types';
21
22
  export * from './qsm/types';
22
23
  export * from './shared/types';
23
24
 
24
- export { BookingProduct, BookingWizard, QSM, SearchResults, Navbar, Header, Footer, ImageCardGrid, Login, ImageWithTextSection, Slider, PhotoGallery };
25
+ export {
26
+ BookingProduct,
27
+ BookingWizard,
28
+ QSM,
29
+ SearchResults,
30
+ Navbar,
31
+ Header,
32
+ Footer,
33
+ ImageCardGrid,
34
+ Login,
35
+ ImageWithTextSection,
36
+ Slider,
37
+ PhotoGallery,
38
+ Breadcrumbs
39
+ };