@times-components/ts-components 1.145.1-82bc6796129e892c1eb22c6257c5e3809c159767.3 → 1.145.1-cfea81c4084e6f91221ea00fec9fc730d5b933cb.4

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.
Files changed (156) hide show
  1. package/dist/components/carousel-component/CarouselComponent.stories.js +146 -0
  2. package/dist/components/carousel-component/CarouselItem.d.ts +3 -0
  3. package/dist/components/carousel-component/CarouselItem.js +11 -0
  4. package/dist/components/carousel-component/DefaultNavigationArrow.d.ts +8 -0
  5. package/dist/components/carousel-component/DefaultNavigationArrow.js +6 -0
  6. package/dist/components/carousel-component/DefaultPageDot.d.ts +8 -0
  7. package/dist/components/carousel-component/DefaultPageDot.js +4 -0
  8. package/dist/components/carousel-component/__tests__/CarouselComponent.test.js +163 -0
  9. package/dist/components/carousel-component/__tests__/CarouselItem.test.js +80 -0
  10. package/dist/components/carousel-component/__tests__/DefaultNavigationArrow.test.js +62 -0
  11. package/dist/components/{opta/football/opta-match-stats/matchday-live/__tests__/OptaMatchStatsMatchdayLive.test.d.ts → carousel-component/__tests__/DefaultPageDot.test.d.ts} +0 -1
  12. package/dist/components/carousel-component/__tests__/DefaultPageDot.test.js +68 -0
  13. package/dist/components/carousel-component/hooks/__tests__/useCarousel.test.d.ts +1 -0
  14. package/dist/components/carousel-component/hooks/__tests__/useCarousel.test.js +314 -0
  15. package/dist/components/carousel-component/hooks/useCarousel.d.ts +2 -0
  16. package/dist/components/carousel-component/hooks/useCarousel.js +140 -0
  17. package/dist/components/carousel-component/index.d.ts +4 -0
  18. package/dist/components/carousel-component/index.js +20 -0
  19. package/dist/components/carousel-component/styles.d.ts +30 -0
  20. package/dist/components/carousel-component/styles.js +120 -0
  21. package/dist/components/carousel-component/types.d.ts +46 -0
  22. package/dist/components/carousel-component/types.js +2 -0
  23. package/dist/components/opta/football/opta-match-stats/shared/styles.js +1 -8
  24. package/dist/components/opta/football/opta-match-stats/summary/OptaMatchStatsSummary.js +2 -2
  25. package/dist/components/opta/football/opta-match-stats/summary/OptaMatchStatsSummary.stories.js +1 -1
  26. package/dist/components/opta/football/opta-match-stats/summary/WidgetContainer.js +4 -13
  27. package/dist/components/trip-cards/SkeletonCard.d.ts +2 -0
  28. package/dist/components/trip-cards/SkeletonCard.js +21 -0
  29. package/dist/components/trip-cards/TripCard.d.ts +3 -0
  30. package/dist/components/trip-cards/TripCard.js +47 -0
  31. package/dist/components/trip-cards/TripCards.stories.d.ts +1 -0
  32. package/dist/components/trip-cards/TripCards.stories.js +40 -0
  33. package/dist/components/trip-cards/TripCardsLayout.d.ts +3 -0
  34. package/dist/components/trip-cards/TripCardsLayout.js +26 -0
  35. package/dist/components/trip-cards/__tests__/SkeletonCard.test.d.ts +1 -0
  36. package/dist/components/trip-cards/__tests__/SkeletonCard.test.js +139 -0
  37. package/dist/components/trip-cards/__tests__/TripCard.test.d.ts +1 -0
  38. package/dist/components/trip-cards/__tests__/TripCard.test.js +95 -0
  39. package/dist/components/trip-cards/__tests__/TripCardsLayout.test.d.ts +1 -0
  40. package/dist/components/trip-cards/__tests__/TripCardsLayout.test.js +277 -0
  41. package/dist/components/trip-cards/__tests__/assets.test.d.ts +1 -0
  42. package/dist/components/trip-cards/__tests__/assets.test.js +165 -0
  43. package/dist/components/trip-cards/__tests__/helpers.test.d.ts +1 -0
  44. package/dist/components/trip-cards/__tests__/helpers.test.js +135 -0
  45. package/dist/components/trip-cards/__tests__/index.test.d.ts +1 -0
  46. package/dist/components/trip-cards/__tests__/index.test.js +437 -0
  47. package/dist/components/trip-cards/__tests__/mockData.test.d.ts +1 -0
  48. package/dist/components/trip-cards/__tests__/mockData.test.js +57 -0
  49. package/dist/components/trip-cards/__tests__/skeletonStyles.test.d.ts +1 -0
  50. package/dist/components/trip-cards/__tests__/skeletonStyles.test.js +194 -0
  51. package/dist/components/trip-cards/assets/BoatIcon.d.ts +1 -0
  52. package/dist/components/trip-cards/assets/BoatIcon.js +4 -0
  53. package/dist/components/trip-cards/assets/CalendarIcon.d.ts +1 -0
  54. package/dist/components/trip-cards/assets/CalendarIcon.js +4 -0
  55. package/dist/components/trip-cards/assets/ChevronRightIcon.d.ts +1 -0
  56. package/dist/components/trip-cards/assets/ChevronRightIcon.js +4 -0
  57. package/dist/components/trip-cards/assets/LocationIcon.d.ts +1 -0
  58. package/dist/components/trip-cards/assets/LocationIcon.js +4 -0
  59. package/dist/components/trip-cards/assets/MoonIcon.d.ts +1 -0
  60. package/dist/components/trip-cards/assets/MoonIcon.js +4 -0
  61. package/dist/components/trip-cards/assets/index.d.ts +6 -0
  62. package/dist/components/trip-cards/assets/index.js +7 -0
  63. package/dist/components/trip-cards/helpers.d.ts +4 -0
  64. package/dist/components/trip-cards/helpers.js +74 -0
  65. package/dist/components/trip-cards/index.d.ts +4 -0
  66. package/dist/components/trip-cards/index.js +70 -0
  67. package/dist/components/trip-cards/mockData.d.ts +3 -0
  68. package/dist/components/trip-cards/mockData.js +323 -0
  69. package/dist/components/trip-cards/skeletonStyles.d.ts +9 -0
  70. package/dist/components/trip-cards/skeletonStyles.js +37 -0
  71. package/dist/components/trip-cards/styles.d.ts +39 -0
  72. package/dist/components/trip-cards/styles.js +387 -0
  73. package/dist/components/trip-cards/types.d.ts +87 -0
  74. package/dist/components/trip-cards/types.js +2 -0
  75. package/dist/index.d.ts +1 -1
  76. package/dist/index.js +2 -2
  77. package/package.json +3 -3
  78. package/rnw.js +1 -1
  79. package/src/components/carousel-component/CarouselComponent.stories.tsx +220 -0
  80. package/src/components/carousel-component/CarouselItem.tsx +20 -0
  81. package/src/components/carousel-component/DefaultNavigationArrow.tsx +37 -0
  82. package/src/components/carousel-component/DefaultPageDot.tsx +20 -0
  83. package/src/components/carousel-component/__tests__/CarouselComponent.test.tsx +259 -0
  84. package/src/components/carousel-component/__tests__/CarouselItem.test.tsx +140 -0
  85. package/src/components/carousel-component/__tests__/DefaultNavigationArrow.test.tsx +153 -0
  86. package/src/components/carousel-component/__tests__/DefaultPageDot.test.tsx +105 -0
  87. package/src/components/carousel-component/hooks/__tests__/useCarousel.test.ts +438 -0
  88. package/src/components/carousel-component/hooks/useCarousel.ts +187 -0
  89. package/src/components/carousel-component/index.tsx +88 -0
  90. package/src/components/carousel-component/styles.ts +140 -0
  91. package/src/components/carousel-component/types.ts +51 -0
  92. package/src/components/opta/football/opta-match-stats/commentary/__tests__/__snapshots__/OptaMatchStatsCommentary.test.tsx.snap +1 -1
  93. package/src/components/opta/football/opta-match-stats/shared/styles.ts +0 -8
  94. package/src/components/opta/football/opta-match-stats/stats-graphs/__tests__/__snapshots__/OptaMatchStatsGraphs.test.tsx.snap +1 -1
  95. package/src/components/opta/football/opta-match-stats/summary/OptaMatchStatsSummary.stories.tsx +1 -1
  96. package/src/components/opta/football/opta-match-stats/summary/OptaMatchStatsSummary.tsx +1 -1
  97. package/src/components/opta/football/opta-match-stats/summary/WidgetContainer.tsx +3 -12
  98. package/src/components/opta/football/opta-match-stats/summary/__tests__/__snapshots__/OptaMatchStatsSummary.test.tsx.snap +1 -1
  99. package/src/components/trip-cards/SkeletonCard.tsx +54 -0
  100. package/src/components/trip-cards/TripCard.tsx +135 -0
  101. package/src/components/trip-cards/TripCards.stories.tsx +67 -0
  102. package/src/components/trip-cards/TripCardsLayout.tsx +75 -0
  103. package/src/components/trip-cards/__tests__/SkeletonCard.test.tsx +169 -0
  104. package/src/components/trip-cards/__tests__/TripCard.test.tsx +120 -0
  105. package/src/components/trip-cards/__tests__/TripCardsLayout.test.tsx +532 -0
  106. package/src/components/trip-cards/__tests__/assets.test.tsx +206 -0
  107. package/src/components/trip-cards/__tests__/helpers.test.ts +165 -0
  108. package/src/components/trip-cards/__tests__/index.test.tsx +499 -0
  109. package/src/components/trip-cards/__tests__/mockData.test.ts +67 -0
  110. package/src/components/trip-cards/__tests__/skeletonStyles.test.tsx +256 -0
  111. package/src/components/trip-cards/assets/BoatIcon.tsx +17 -0
  112. package/src/components/trip-cards/assets/CalendarIcon.tsx +17 -0
  113. package/src/components/trip-cards/assets/ChevronRightIcon.tsx +20 -0
  114. package/src/components/trip-cards/assets/LocationIcon.tsx +17 -0
  115. package/src/components/trip-cards/assets/MoonIcon.tsx +17 -0
  116. package/src/components/trip-cards/assets/index.ts +7 -0
  117. package/src/components/trip-cards/helpers.ts +99 -0
  118. package/src/components/trip-cards/index.tsx +104 -0
  119. package/src/components/trip-cards/mockData.ts +351 -0
  120. package/src/components/trip-cards/skeletonStyles.ts +46 -0
  121. package/src/components/trip-cards/styles.ts +426 -0
  122. package/src/components/trip-cards/types.ts +91 -0
  123. package/src/index.ts +2 -3
  124. package/dist/components/opta/football/opta-match-stats/matchday-live/DesktopWidget.d.ts +0 -10
  125. package/dist/components/opta/football/opta-match-stats/matchday-live/DesktopWidget.js +0 -69
  126. package/dist/components/opta/football/opta-match-stats/matchday-live/MobileWidget.d.ts +0 -12
  127. package/dist/components/opta/football/opta-match-stats/matchday-live/MobileWidget.js +0 -90
  128. package/dist/components/opta/football/opta-match-stats/matchday-live/OptaMatchStatsMatchdayLive.d.ts +0 -12
  129. package/dist/components/opta/football/opta-match-stats/matchday-live/OptaMatchStatsMatchdayLive.js +0 -10
  130. package/dist/components/opta/football/opta-match-stats/matchday-live/OptaMatchStatsMatchdayLive.stories.js +0 -24
  131. package/dist/components/opta/football/opta-match-stats/matchday-live/__tests__/MobileWidget.test.js +0 -57
  132. package/dist/components/opta/football/opta-match-stats/matchday-live/__tests__/OptaMatchStatsMatchdayLive.test.js +0 -48
  133. package/dist/components/opta/football/opta-match-stats/matchday-live/styles/MatchdayLiveController.d.ts +0 -1
  134. package/dist/components/opta/football/opta-match-stats/matchday-live/styles/MatchdayLiveController.js +0 -19
  135. package/dist/components/opta/football/opta-match-stats/matchday-live/styles/NavigationWrapper.d.ts +0 -12
  136. package/dist/components/opta/football/opta-match-stats/matchday-live/styles/NavigationWrapper.js +0 -67
  137. package/dist/components/opta/football/opta-match-stats/matchday-live/styles/WidgetContainer.d.ts +0 -6
  138. package/dist/components/opta/football/opta-match-stats/matchday-live/styles/WidgetContainer.js +0 -730
  139. package/dist/components/opta/football/opta-match-stats/matchday-live/styles/__tests__/NavigationWrapper.test.js +0 -33
  140. package/dist/components/opta/football/opta-match-stats/matchday-live/styles/__tests__/WidgetContainer.test.js +0 -36
  141. package/src/components/opta/football/opta-match-stats/matchday-live/DesktopWidget.tsx +0 -108
  142. package/src/components/opta/football/opta-match-stats/matchday-live/MobileWidget.tsx +0 -158
  143. package/src/components/opta/football/opta-match-stats/matchday-live/OptaMatchStatsMatchdayLive.stories.tsx +0 -38
  144. package/src/components/opta/football/opta-match-stats/matchday-live/OptaMatchStatsMatchdayLive.tsx +0 -23
  145. package/src/components/opta/football/opta-match-stats/matchday-live/__tests__/MobileWidget.test.tsx +0 -69
  146. package/src/components/opta/football/opta-match-stats/matchday-live/__tests__/OptaMatchStatsMatchdayLive.test.tsx +0 -61
  147. package/src/components/opta/football/opta-match-stats/matchday-live/__tests__/__snapshots__/OptaMatchStatsMatchdayLive.test.tsx.snap +0 -61
  148. package/src/components/opta/football/opta-match-stats/matchday-live/styles/MatchdayLiveController.tsx +0 -19
  149. package/src/components/opta/football/opta-match-stats/matchday-live/styles/NavigationWrapper.tsx +0 -81
  150. package/src/components/opta/football/opta-match-stats/matchday-live/styles/WidgetContainer.tsx +0 -761
  151. package/src/components/opta/football/opta-match-stats/matchday-live/styles/__tests__/NavigationWrapper.test.tsx +0 -67
  152. package/src/components/opta/football/opta-match-stats/matchday-live/styles/__tests__/WidgetContainer.test.tsx +0 -64
  153. /package/dist/components/{opta/football/opta-match-stats/matchday-live/OptaMatchStatsMatchdayLive.stories.d.ts → carousel-component/CarouselComponent.stories.d.ts} +0 -0
  154. /package/dist/components/{opta/football/opta-match-stats/matchday-live/__tests__/MobileWidget.test.d.ts → carousel-component/__tests__/CarouselComponent.test.d.ts} +0 -0
  155. /package/dist/components/{opta/football/opta-match-stats/matchday-live/styles/__tests__/NavigationWrapper.test.d.ts → carousel-component/__tests__/CarouselItem.test.d.ts} +0 -0
  156. /package/dist/components/{opta/football/opta-match-stats/matchday-live/styles/__tests__/WidgetContainer.test.d.ts → carousel-component/__tests__/DefaultNavigationArrow.test.d.ts} +0 -0
@@ -0,0 +1,57 @@
1
+ import { getMockTripCards, mockApiResults } from '../mockData';
2
+ describe('mockData', () => {
3
+ describe('mockApiResults', () => {
4
+ it('contains 6 cruise results', () => {
5
+ expect(mockApiResults).toHaveLength(6);
6
+ });
7
+ it('each result has required fields', () => {
8
+ mockApiResults.forEach(result => {
9
+ expect(result).toHaveProperty('cruise_id');
10
+ expect(result).toHaveProperty('cruise_title');
11
+ expect(result).toHaveProperty('cruise_line');
12
+ expect(result).toHaveProperty('ship');
13
+ expect(result).toHaveProperty('prices');
14
+ expect(result).toHaveProperty('was_prices');
15
+ expect(result).toHaveProperty('extras');
16
+ });
17
+ });
18
+ it('extras object contains required fields', () => {
19
+ mockApiResults.forEach(result => {
20
+ expect(result.extras).toHaveProperty('date');
21
+ expect(result.extras).toHaveProperty('duration');
22
+ expect(result.extras).toHaveProperty('destination');
23
+ expect(result.extras).toHaveProperty('info');
24
+ });
25
+ });
26
+ });
27
+ describe('getMockTripCards', () => {
28
+ it('returns all transformed cards when no count specified', () => {
29
+ const cards = getMockTripCards();
30
+ expect(cards).toHaveLength(6);
31
+ });
32
+ it('returns specified number of cards', () => {
33
+ const cards = getMockTripCards(3);
34
+ expect(cards).toHaveLength(3);
35
+ });
36
+ it('returns transformed TripCardApiData objects', () => {
37
+ const cards = getMockTripCards(1);
38
+ expect(cards[0]).toHaveProperty('cruise_id');
39
+ expect(cards[0]).toHaveProperty('image');
40
+ expect(cards[0]).toHaveProperty('headline');
41
+ expect(cards[0]).toHaveProperty('date');
42
+ expect(cards[0]).toHaveProperty('duration');
43
+ expect(cards[0]).toHaveProperty('route');
44
+ expect(cards[0]).toHaveProperty('ship');
45
+ expect(cards[0]).toHaveProperty('price');
46
+ expect(cards[0]).toHaveProperty('logo');
47
+ expect(cards[0]).toHaveProperty('logo_url');
48
+ expect(cards[0]).toHaveProperty('cta_url');
49
+ expect(cards[0]).toHaveProperty('cta_text');
50
+ });
51
+ it('cruise_id is converted to string', () => {
52
+ const cards = getMockTripCards(1);
53
+ expect(typeof cards[0].cruise_id).toBe('string');
54
+ });
55
+ });
56
+ });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja0RhdGEudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyaXAtY2FyZHMvX190ZXN0c19fL21vY2tEYXRhLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvRCxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtJQUN4QixRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1FBQzlCLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxHQUFHLEVBQUU7WUFDbkMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUU7WUFDekMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDN0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDNUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNM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
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,194 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import '@testing-library/jest-dom';
4
+ import { SkeletonLine, SkeletonHeadline, SkeletonPrice, SkeletonButton } from '../skeletonStyles';
5
+ describe('Skeleton Styles', () => {
6
+ describe('SkeletonLine', () => {
7
+ it('renders with default width', () => {
8
+ const { container } = render(React.createElement(SkeletonLine, null));
9
+ const element = container.firstChild;
10
+ expect(element).toBeInTheDocument();
11
+ });
12
+ it('accepts custom width prop', () => {
13
+ const { container } = render(React.createElement(SkeletonLine, { width: "80px" }));
14
+ const element = container.firstChild;
15
+ expect(element).toBeInTheDocument();
16
+ });
17
+ it('accepts custom marginBottom prop', () => {
18
+ const { container } = render(React.createElement(SkeletonLine, { marginBottom: "4px" }));
19
+ const element = container.firstChild;
20
+ expect(element).toBeInTheDocument();
21
+ });
22
+ it('accepts both width and marginBottom props', () => {
23
+ const { container } = render(React.createElement(SkeletonLine, { width: "60px", marginBottom: "8px" }));
24
+ const element = container.firstChild;
25
+ expect(element).toBeInTheDocument();
26
+ });
27
+ it('renders as a div element', () => {
28
+ const { container } = render(React.createElement(SkeletonLine, null));
29
+ const element = container.firstChild;
30
+ if (element) {
31
+ expect(element.nodeName).toBe('DIV');
32
+ }
33
+ });
34
+ it('applies skeleton styling', () => {
35
+ const { container } = render(React.createElement(SkeletonLine, null));
36
+ const element = container.firstChild;
37
+ expect(element.className).toMatch(/sc-/);
38
+ });
39
+ });
40
+ describe('SkeletonHeadline', () => {
41
+ it('renders correctly', () => {
42
+ const { container } = render(React.createElement(SkeletonHeadline, null));
43
+ const element = container.firstChild;
44
+ expect(element).toBeInTheDocument();
45
+ });
46
+ it('renders as a div element', () => {
47
+ const { container } = render(React.createElement(SkeletonHeadline, null));
48
+ const element = container.firstChild;
49
+ if (element) {
50
+ expect(element.nodeName).toBe('DIV');
51
+ }
52
+ });
53
+ it('has styled component class', () => {
54
+ const { container } = render(React.createElement(SkeletonHeadline, null));
55
+ const element = container.firstChild;
56
+ expect(element.className).toMatch(/sc-/);
57
+ });
58
+ it('accepts className prop', () => {
59
+ const { container } = render(React.createElement(SkeletonHeadline, { className: "custom" }));
60
+ const element = container.firstChild;
61
+ expect(element).toHaveClass('custom');
62
+ });
63
+ });
64
+ describe('SkeletonPrice', () => {
65
+ it('renders correctly', () => {
66
+ const { container } = render(React.createElement(SkeletonPrice, null));
67
+ const element = container.firstChild;
68
+ expect(element).toBeInTheDocument();
69
+ });
70
+ it('renders as a div element', () => {
71
+ const { container } = render(React.createElement(SkeletonPrice, null));
72
+ const element = container.firstChild;
73
+ if (element) {
74
+ expect(element.nodeName).toBe('DIV');
75
+ }
76
+ });
77
+ it('has styled component class', () => {
78
+ const { container } = render(React.createElement(SkeletonPrice, null));
79
+ const element = container.firstChild;
80
+ expect(element.className).toMatch(/sc-/);
81
+ });
82
+ it('can be used multiple times', () => {
83
+ const { container } = render(React.createElement(React.Fragment, null,
84
+ React.createElement(SkeletonPrice, null),
85
+ React.createElement(SkeletonPrice, null),
86
+ React.createElement(SkeletonPrice, null)));
87
+ const elements = container.querySelectorAll('div');
88
+ expect(elements.length).toBe(3);
89
+ });
90
+ });
91
+ describe('SkeletonButton', () => {
92
+ it('renders correctly', () => {
93
+ const { container } = render(React.createElement(SkeletonButton, { as: "div" }));
94
+ const element = container.firstChild;
95
+ expect(element).toBeInTheDocument();
96
+ });
97
+ it('renders as div when specified', () => {
98
+ const { container } = render(React.createElement(SkeletonButton, { as: "div" }));
99
+ const element = container.firstChild;
100
+ if (element) {
101
+ expect(element.nodeName).toBe('DIV');
102
+ }
103
+ });
104
+ it('has styled component class', () => {
105
+ const { container } = render(React.createElement(SkeletonButton, { as: "div" }));
106
+ const element = container.firstChild;
107
+ expect(element.className).toMatch(/sc-/);
108
+ });
109
+ it('accepts additional props', () => {
110
+ const { container } = render(React.createElement(SkeletonButton, { as: "div", "data-testid": "skeleton-button" }));
111
+ const element = container.firstChild;
112
+ expect(element).toHaveAttribute('data-testid', 'skeleton-button');
113
+ });
114
+ it('is not interactive', () => {
115
+ const { container } = render(React.createElement(SkeletonButton, { as: "div" }));
116
+ const element = container.firstChild;
117
+ if (element) {
118
+ expect(element.nodeName).toBe('DIV');
119
+ }
120
+ });
121
+ });
122
+ describe('Skeleton Components Integration', () => {
123
+ it('all skeleton components render together', () => {
124
+ const { container } = render(React.createElement("div", null,
125
+ React.createElement(SkeletonHeadline, null),
126
+ React.createElement(SkeletonLine, { width: "80px" }),
127
+ React.createElement(SkeletonPrice, null),
128
+ React.createElement(SkeletonButton, { as: "div" })));
129
+ // Verify all components are present (4 skeleton components + 1 wrapper div = 5 divs minimum)
130
+ const elements = container.querySelectorAll('div');
131
+ expect(elements.length).toBeGreaterThanOrEqual(5);
132
+ });
133
+ it('skeleton components maintain consistent styling', () => {
134
+ const { container } = render(React.createElement("div", null,
135
+ React.createElement(SkeletonLine, null),
136
+ React.createElement(SkeletonHeadline, null),
137
+ React.createElement(SkeletonPrice, null)));
138
+ const styledElements = container.querySelectorAll('[class*="sc-"]');
139
+ expect(styledElements.length).toBeGreaterThanOrEqual(3);
140
+ });
141
+ it('skeleton components are div elements by default', () => {
142
+ const { container } = render(React.createElement("div", null,
143
+ React.createElement(SkeletonLine, null),
144
+ React.createElement(SkeletonHeadline, null),
145
+ React.createElement(SkeletonPrice, null)));
146
+ const divs = Array.from(container.querySelectorAll('div'));
147
+ expect(divs.length).toBeGreaterThanOrEqual(4);
148
+ });
149
+ it('props are correctly applied to skeleton components', () => {
150
+ const { container } = render(React.createElement("div", null,
151
+ React.createElement(SkeletonLine, { width: "50px", marginBottom: "10px" }),
152
+ React.createElement(SkeletonButton, { as: "div", className: "btn-skeleton" })));
153
+ const elements = container.querySelectorAll('div');
154
+ expect(elements.length).toBeGreaterThanOrEqual(2);
155
+ });
156
+ });
157
+ describe('Styled Components Structure', () => {
158
+ it('SkeletonLine has correct structure', () => {
159
+ const { container } = render(React.createElement(SkeletonLine, null));
160
+ expect(container.firstChild).toBeTruthy();
161
+ });
162
+ it('SkeletonHeadline has correct structure', () => {
163
+ const { container } = render(React.createElement(SkeletonHeadline, null));
164
+ expect(container.firstChild).toBeTruthy();
165
+ });
166
+ it('SkeletonPrice has correct structure', () => {
167
+ const { container } = render(React.createElement(SkeletonPrice, null));
168
+ expect(container.firstChild).toBeTruthy();
169
+ });
170
+ it('SkeletonButton has correct structure', () => {
171
+ const { container } = render(React.createElement(SkeletonButton, { as: "div" }));
172
+ expect(container.firstChild).toBeTruthy();
173
+ });
174
+ });
175
+ describe('Props and Variants', () => {
176
+ it('SkeletonLine with different widths', () => {
177
+ const { rerender, container } = render(React.createElement(SkeletonLine, { width: "20px" }));
178
+ expect(container.firstChild).toBeInTheDocument();
179
+ rerender(React.createElement(SkeletonLine, { width: "100px" }));
180
+ expect(container.firstChild).toBeInTheDocument();
181
+ rerender(React.createElement(SkeletonLine, { width: "50%" }));
182
+ expect(container.firstChild).toBeInTheDocument();
183
+ });
184
+ it('SkeletonLine with different margins', () => {
185
+ const { rerender, container } = render(React.createElement(SkeletonLine, { marginBottom: "2px" }));
186
+ expect(container.firstChild).toBeInTheDocument();
187
+ rerender(React.createElement(SkeletonLine, { marginBottom: "8px" }));
188
+ expect(container.firstChild).toBeInTheDocument();
189
+ rerender(React.createElement(SkeletonLine, { marginBottom: "16px" }));
190
+ expect(container.firstChild).toBeInTheDocument();
191
+ });
192
+ });
193
+ });
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b25TdHlsZXMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyaXAtY2FyZHMvX190ZXN0c19fL3NrZWxldG9uU3R5bGVzLnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTywyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsY0FBYyxFQUNmLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMvQixRQUFRLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtRQUM1QixFQUFFLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO1lBQ3BDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQUMsWUFBWSxPQUFHLENBQUMsQ0FBQztZQUMvQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO1lBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtZQUNuQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDLG9CQUFDLFlBQVksSUFBQyxLQUFLLEVBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUM1RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO1lBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsRUFB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LEVBQUU7WUFDN0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQ3BDLG9CQUFDLFlBQVksSUFBQyxZQUFZLEVBQUMsS0FBSyxHQUFHLENBQ3BDLENBQUM7WUFDRixNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFakQsUUFBUSxDQUFDLG9CQUFDLFlBQVksSUFBQyxZQUFZLEVBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUM5QyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFakQsUUFBUSxDQUFDLG9CQUFDLFlBQVksSUFBQyxZQUFZLEVBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUMvQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export declare const BoatIcon: (props: any) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ export const BoatIcon = (props) => (React.createElement("svg", Object.assign({ width: "15", height: "16", viewBox: "0 0 15 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
3
+ React.createElement("path", { d: "M2.78887 3.51093V6.29999L6.98887 4.92187L11.1889 6.29999V3.51093H2.78887ZM1.34512 12.6L0.0326173 7.94062C0.0107423 7.89687 -0.000195216 7.82031 -0.000195216 7.71093C-0.000195216 7.40468 0.163867 7.18593 0.491992 7.05468L1.37793 6.75937V3.51093C1.37793 3.13906 1.52012 2.81093 1.80449 2.52656C2.08887 2.24218 2.41699 2.09999 2.78887 2.09999H4.88887V-7.20099e-06H9.08887V2.09999H11.1889C11.5607 2.09999 11.8889 2.24218 12.1732 2.52656C12.4576 2.81093 12.5998 3.13906 12.5998 3.51093V6.75937L13.4857 7.05468C13.9451 7.20781 14.0982 7.50312 13.9451 7.94062L12.6326 12.6H12.5998C11.5279 12.6 10.5873 12.1406 9.77793 11.2219C8.96856 12.1406 8.03887 12.6 6.98887 12.6C5.93887 12.6 5.00918 12.1406 4.19981 11.2219C3.39043 12.1406 2.4498 12.6 1.37793 12.6H1.34512ZM12.5998 14.0109H13.9779V15.4219H12.5998C11.6154 15.4219 10.6748 15.1922 9.77793 14.7328C8.90293 15.1703 7.97324 15.3891 6.98887 15.3891C6.00449 15.3891 5.07481 15.1703 4.19981 14.7328C3.30293 15.1922 2.3623 15.4219 1.37793 15.4219H-0.000195216V14.0109H1.37793C2.38418 14.0109 3.32481 13.7047 4.19981 13.0922C5.05293 13.6828 5.98262 13.9781 6.98887 13.9781C7.99512 13.9781 8.92481 13.6828 9.77793 13.0922C10.6529 13.7047 11.5936 14.0109 12.5998 14.0109Z", fill: "currentColor" })));
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9hdEljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90cmlwLWNhcmRzL2Fzc2V0cy9Cb2F0SWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUN0QywyQ0FDRSxLQUFLLEVBQUMsSUFBSSxFQUNWLE1BQU0sRUFBQyxJQUFJLEVBQ1gsT0FBTyxFQUFDLFdBQVcsRUFDbkIsSUFBSSxFQUFDLE1BQU0sRUFDWCxLQUFLLEVBQUMsNEJBQTRCLElBQzlCLEtBQUs7SUFFVCw4QkFDRSxDQUFDLEVBQUMsMHJDQUEwckMsRUFDNXJDLElBQUksRUFBQyxjQUFjLEdBQ25CLENBQ0UsQ0FDUCxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export declare const CalendarIcon: (props: any) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ export const CalendarIcon = (props) => (React.createElement("svg", Object.assign({ width: "13", height: "14", viewBox: "0 0 13 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
3
+ React.createElement("path", { d: "M11.189 12.6V4.88907H1.41084V12.6H11.189ZM11.189 1.37813C11.5608 1.37813 11.889 1.52032 12.1733 1.80469C12.4577 2.08907 12.5999 2.41719 12.5999 2.78907V12.6C12.5999 12.9719 12.4577 13.3 12.1733 13.5844C11.889 13.8469 11.5608 13.9781 11.189 13.9781H1.41084C1.01709 13.9781 0.678028 13.8469 0.393653 13.5844C0.131152 13.3219 -9.75132e-05 12.9938 -9.75132e-05 12.6V2.78907C-9.75132e-05 2.41719 0.131152 2.08907 0.393653 1.80469C0.678028 1.52032 1.01709 1.37813 1.41084 1.37813H2.0999V5.05522e-06H3.51084V1.37813H9.08897V5.05522e-06H10.4999V1.37813H11.189ZM9.81084 6.30001V7.67813H8.3999V6.30001H9.81084ZM6.98897 6.30001V7.67813H5.61084V6.30001H6.98897ZM4.1999 6.30001V7.67813H2.78897V6.30001H4.1999Z", fill: "currentColor" })));
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FsZW5kYXJJY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJpcC1jYXJkcy9hc3NldHMvQ2FsZW5kYXJJY29uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLENBQzFDLDJDQUNFLEtBQUssRUFBQyxJQUFJLEVBQ1YsTUFBTSxFQUFDLElBQUksRUFDWCxPQUFPLEVBQUMsV0FBVyxFQUNuQixJQUFJLEVBQUMsTUFBTSxFQUNYLEtBQUssRUFBQyw0QkFBNEIsSUFDOUIsS0FBSztJQUVULDhCQUNFLENBQUMsRUFBQywwckJBQTByQixFQUM1ckIsSUFBSSxFQUFDLGNBQWMsR0FDbkIsQ0FDRSxDQUNQLENBQUMifQ==
@@ -0,0 +1 @@
1
+ export declare const ChevronRightIcon: (props: any) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ export const ChevronRightIcon = (props) => (React.createElement("svg", Object.assign({ width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
3
+ React.createElement("path", { d: "M6 12L10 8L6 4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })));
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hldnJvblJpZ2h0SWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyaXAtY2FyZHMvYXNzZXRzL0NoZXZyb25SaWdodEljb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUM5QywyQ0FDRSxLQUFLLEVBQUMsSUFBSSxFQUNWLE1BQU0sRUFBQyxJQUFJLEVBQ1gsT0FBTyxFQUFDLFdBQVcsRUFDbkIsSUFBSSxFQUFDLE1BQU0sRUFDWCxLQUFLLEVBQUMsNEJBQTRCLElBQzlCLEtBQUs7SUFFVCw4QkFDRSxDQUFDLEVBQUMsZ0JBQWdCLEVBQ2xCLE1BQU0sRUFBQyxjQUFjLEVBQ3JCLFdBQVcsRUFBQyxLQUFLLEVBQ2pCLGFBQWEsRUFBQyxPQUFPLEVBQ3JCLGNBQWMsRUFBQyxPQUFPLEdBQ3RCLENBQ0UsQ0FDUCxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export declare const LocationIcon: (props: any) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ export const LocationIcon = (props) => (React.createElement("svg", Object.assign({ width: "10", height: "14", viewBox: "0 0 10 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
3
+ React.createElement("path", { d: "M3.64238 6.13594C3.99238 6.46407 4.40801 6.62813 4.88926 6.62813C5.37051 6.62813 5.7752 6.46407 6.10332 6.13594C6.45332 5.78594 6.62832 5.37032 6.62832 4.88907C6.62832 4.40782 6.45332 4.00313 6.10332 3.67501C5.7752 3.32501 5.37051 3.15001 4.88926 3.15001C4.40801 3.15001 3.99238 3.32501 3.64238 3.67501C3.31426 4.00313 3.1502 4.40782 3.1502 4.88907C3.1502 5.37032 3.31426 5.78594 3.64238 6.13594ZM1.41113 1.44376C2.37363 0.481255 3.53301 5.05522e-06 4.88926 5.05522e-06C6.24551 5.05522e-06 7.39395 0.481255 8.33457 1.44376C9.29707 2.38438 9.77832 3.53282 9.77832 4.88907C9.77832 5.56719 9.60332 6.34376 9.25332 7.21876C8.9252 8.09376 8.52051 8.91407 8.03926 9.67969C7.55801 10.4453 7.07676 11.1672 6.59551 11.8453C6.13613 12.5016 5.74238 13.0266 5.41426 13.4203L4.88926 13.9781C4.75801 13.825 4.58301 13.6281 4.36426 13.3875C4.14551 13.125 3.75176 12.6219 3.18301 11.8781C2.61426 11.1125 2.11113 10.3797 1.67363 9.67969C1.25801 8.95782 0.875196 8.14844 0.525196 7.25157C0.175196 6.35469 0.000195552 5.56719 0.000195552 4.88907C0.000195552 3.53282 0.470508 2.38438 1.41113 1.44376Z", fill: "currentColor" })));
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYXRpb25JY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJpcC1jYXJkcy9hc3NldHMvTG9jYXRpb25JY29uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLENBQzFDLDJDQUNFLEtBQUssRUFBQyxJQUFJLEVBQ1YsTUFBTSxFQUFDLElBQUksRUFDWCxPQUFPLEVBQUMsV0FBVyxFQUNuQixJQUFJLEVBQUMsTUFBTSxFQUNYLEtBQUssRUFBQyw0QkFBNEIsSUFDOUIsS0FBSztJQUVULDhCQUNFLENBQUMsRUFBQywwakNBQTBqQyxFQUM1akMsSUFBSSxFQUFDLGNBQWMsR0FDbkIsQ0FDRSxDQUNQLENBQUMifQ==
@@ -0,0 +1 @@
1
+ export declare const MoonIcon: (props: any) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ export const MoonIcon = (props) => (React.createElement("svg", Object.assign({ width: "14", height: "15", viewBox: "0 0 14 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
3
+ React.createElement("path", { d: "M7.21856 0.0656178C6.69356 0.984368 6.38731 1.92499 6.29981 2.88749C6.21231 3.84999 6.31074 4.77968 6.59512 5.67656C6.90137 6.57343 7.36074 7.38281 7.97324 8.10468C8.58574 8.82656 9.31856 9.40624 10.1717 9.84374C11.0467 10.2812 12.0092 10.5109 13.0592 10.5328C12.6436 11.2328 12.1295 11.8453 11.517 12.3703C10.9045 12.8953 10.2154 13.3109 9.44981 13.6172C8.68418 13.9016 7.86387 14.0437 6.98887 14.0437C6.02637 14.0437 5.11856 13.8687 4.26543 13.5187C3.43418 13.1469 2.69043 12.6437 2.03418 12.0094C1.3998 11.3531 0.89668 10.6094 0.524805 9.77812C0.174805 8.92499 -0.000195216 8.01718 -0.000195216 7.05468C-0.000195216 6.07031 0.185742 5.15156 0.557617 4.29843C0.929492 3.44531 1.44355 2.70156 2.0998 2.06718C2.75605 1.41093 3.52168 0.907805 4.39668 0.557805C5.27168 0.18593 6.21231 0.0218678 7.21856 0.0656178Z", fill: "currentColor" })));
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9vbkljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90cmlwLWNhcmRzL2Fzc2V0cy9Nb29uSWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUN0QywyQ0FDRSxLQUFLLEVBQUMsSUFBSSxFQUNWLE1BQU0sRUFBQyxJQUFJLEVBQ1gsT0FBTyxFQUFDLFdBQVcsRUFDbkIsSUFBSSxFQUFDLE1BQU0sRUFDWCxLQUFLLEVBQUMsNEJBQTRCLElBQzlCLEtBQUs7SUFFVCw4QkFDRSxDQUFDLEVBQUMsNnlCQUE2eUIsRUFDL3lCLElBQUksRUFBQyxjQUFjLEdBQ25CLENBQ0UsQ0FDUCxDQUFDIn0=
@@ -0,0 +1,6 @@
1
+ import { BoatIcon } from './BoatIcon';
2
+ import { CalendarIcon } from './CalendarIcon';
3
+ import { ChevronRightIcon } from './ChevronRightIcon';
4
+ import { LocationIcon } from './LocationIcon';
5
+ import { MoonIcon } from './MoonIcon';
6
+ export { BoatIcon, LocationIcon, CalendarIcon, MoonIcon, ChevronRightIcon };
@@ -0,0 +1,7 @@
1
+ import { BoatIcon } from './BoatIcon';
2
+ import { CalendarIcon } from './CalendarIcon';
3
+ import { ChevronRightIcon } from './ChevronRightIcon';
4
+ import { LocationIcon } from './LocationIcon';
5
+ import { MoonIcon } from './MoonIcon';
6
+ export { BoatIcon, LocationIcon, CalendarIcon, MoonIcon, ChevronRightIcon };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90cmlwLWNhcmRzL2Fzc2V0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLENBQUMifQ==
@@ -0,0 +1,4 @@
1
+ import { TripCardApiData, ApiCruiseResult } from './types';
2
+ export declare const transformApiResult: (result: ApiCruiseResult) => TripCardApiData;
3
+ export declare const decodeIds: (encoded: string) => number[];
4
+ export declare const fetchCruiseCards: (cruiseIds: number[]) => Promise<TripCardApiData[]>;
@@ -0,0 +1,74 @@
1
+ const decodeHtmlEntities = (text) => {
2
+ const textarea = document.createElement('textarea');
3
+ textarea.innerHTML = text;
4
+ return textarea.value;
5
+ };
6
+ export const transformApiResult = (result) => {
7
+ const formatPrice = (price) => {
8
+ if (price === 0 || price === 'Enquire now') {
9
+ return 'Enquire now';
10
+ }
11
+ return typeof price === 'string' ? price : `£${price}`;
12
+ };
13
+ const formatRoute = (itinerary) => {
14
+ if (itinerary.length <= 2) {
15
+ return itinerary.join(' → ');
16
+ }
17
+ return `${itinerary[0]} → ${itinerary[itinerary.length - 1]}`;
18
+ };
19
+ const formatOriginalPrice = (wasPrice) => {
20
+ if (!wasPrice || wasPrice === 0 || wasPrice === 'Enquire now') {
21
+ return undefined;
22
+ }
23
+ return typeof wasPrice === 'string' ? wasPrice : `£${wasPrice}`;
24
+ };
25
+ return {
26
+ cruise_id: String(result.cruise_id),
27
+ image: result.ship.image,
28
+ offer_label: result.campaigns.length > 0 ? result.campaigns[0] : undefined,
29
+ headline: decodeHtmlEntities(result.cruise_title),
30
+ date: result.extras.date,
31
+ duration: result.extras.duration,
32
+ route: formatRoute(result.itinerary),
33
+ ship: result.ship.name,
34
+ original_price: formatOriginalPrice(result.was_prices.cheapest_price),
35
+ price: formatPrice(result.prices.cheapest_price),
36
+ logo: result.cruise_line.logo,
37
+ logo_url: result.cruise_line.link,
38
+ cta_url: result.link,
39
+ cta_text: 'View Itinerary'
40
+ };
41
+ };
42
+ export const decodeIds = (encoded) => {
43
+ try {
44
+ const decoded = atob(encoded);
45
+ const data = JSON.parse(decoded);
46
+ if (Array.isArray(data)) {
47
+ return data;
48
+ }
49
+ return [];
50
+ }
51
+ catch (e) {
52
+ // Failed to decode trip card IDs
53
+ return [];
54
+ }
55
+ };
56
+ export const fetchCruiseCards = async (cruiseIds) => {
57
+ const formData = new FormData();
58
+ formData.append('action', 'results');
59
+ formData.append('cruise_ids', cruiseIds.join(','));
60
+ const response = await fetch('https://www.staging-thetimes.com/holidays/wp-admin/admin-ajax.php', {
61
+ method: 'POST',
62
+ body: formData
63
+ });
64
+ if (!response.ok) {
65
+ throw new Error(`HTTP error! status: ${response.status}`);
66
+ }
67
+ const data = await response.json();
68
+ if (data.results && Array.isArray(data.results)) {
69
+ const transformedCards = data.results.map((result) => transformApiResult(result));
70
+ return cruiseIds.map(id => transformedCards.find(card => card.cruise_id === String(id)));
71
+ }
72
+ throw new Error('Invalid API response format');
73
+ };
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyaXAtY2FyZHMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGtCQUFrQixHQUFHLENBQUMsSUFBWSxFQUFVLEVBQUU7SUFDbEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsTUFBdUIsRUFDTixFQUFFO0lBQ25CLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBc0IsRUFBVSxFQUFFO1FBQ3JELElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssYUFBYSxFQUFFO1lBQzFDLE9BQU8sYUFBYSxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUN6RCxDQUFDLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQW1CLEVBQVUsRUFBRTtRQUNsRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjtRQUNELE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRSxDQUFDLENBQUM7SUFFRixNQUFNLG1CQUFtQixHQUFHLENBQzFCLFFBQXlCLEVBQ0wsRUFBRTtRQUN0QixJQUFJLENBQUMsUUFBUSxJQUFJLFFB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
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { TripCardsProps } from './types';
3
+ export declare const TripCards: FC<TripCardsProps>;
4
+ export default TripCards;
@@ -0,0 +1,70 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { TripCard } from './TripCard';
3
+ import { SkeletonCard } from './SkeletonCard';
4
+ import { TripCardsLayout } from './TripCardsLayout';
5
+ import { getMockTripCards } from './mockData';
6
+ import { decodeIds, fetchCruiseCards } from './helpers';
7
+ export const TripCards = ({ element, useMockData = false }) => {
8
+ const [cards, setCards] = useState([]);
9
+ const [loading, setLoading] = useState(true);
10
+ const [error, setError] = useState(null);
11
+ const [itemsPerPage, setItemsPerPage] = useState(2);
12
+ const allIds = [...decodeIds(element.tripcards || '')].filter((id, index, self) => self.indexOf(id) === index);
13
+ useEffect(() => {
14
+ const loadCards = async () => {
15
+ if (allIds.length === 0) {
16
+ setLoading(false);
17
+ setError('No valid cruise IDs provided');
18
+ return;
19
+ }
20
+ if (useMockData) {
21
+ setCards(getMockTripCards(allIds.length));
22
+ setLoading(false);
23
+ return;
24
+ }
25
+ try {
26
+ const transformedCards = await fetchCruiseCards(allIds);
27
+ setCards(transformedCards);
28
+ }
29
+ catch (e) {
30
+ setError(e instanceof Error ? e.message : 'Failed to load cruises');
31
+ }
32
+ finally {
33
+ setLoading(false);
34
+ }
35
+ };
36
+ loadCards();
37
+ }, [element.tripcards, useMockData]);
38
+ useEffect(() => {
39
+ const handleResize = () => {
40
+ const width = window.innerWidth;
41
+ // sm/xs: < 768px → 1 card per page
42
+ // md/lg/xl: >= 768px → 2 cards per page
43
+ if (width < 768) {
44
+ setItemsPerPage(1);
45
+ }
46
+ else {
47
+ setItemsPerPage(2);
48
+ }
49
+ };
50
+ handleResize();
51
+ window.addEventListener('resize', handleResize);
52
+ return () => window.removeEventListener('resize', handleResize);
53
+ }, []);
54
+ if (loading) {
55
+ const skeletonItems = Array.from({ length: allIds.length || 2 }, (_, i) => ({
56
+ id: `skeleton-${i}`
57
+ }));
58
+ return (React.createElement(TripCardsLayout, { element: element, items: skeletonItems, CardComponent: SkeletonCard, itemsPerPage: itemsPerPage }));
59
+ }
60
+ if (error || cards.length === 0) {
61
+ return null;
62
+ }
63
+ const cardItems = cards.map((card, index) => ({
64
+ id: `${card.cruise_id}-${index}`,
65
+ data: card
66
+ }));
67
+ return (React.createElement(TripCardsLayout, { element: element, items: cardItems, CardComponent: TripCard, itemsPerPage: itemsPerPage }));
68
+ };
69
+ export default TripCards;
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy90cmlwLWNhcmRzL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFNLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBdUIsQ0FBQyxFQUM1QyxPQUFPLEVBQ1AsV0FBVyxHQUFHLEtBQUssRUFDcEIsRUFBRSxFQUFFO0lBQ0gsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxRQUFRLENBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQzFELE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFnQixJQUFJLENBQUMsQ0FBQztJQUN4RCxNQUFNLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzNELENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElB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
@@ -0,0 +1,3 @@
1
+ import { TripCardApiData, ApiCruiseResult } from './types';
2
+ export declare const mockApiResults: ApiCruiseResult[];
3
+ export declare const getMockTripCards: (count?: number | undefined) => TripCardApiData[];