mautourco-components 0.2.17 → 0.2.19

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 (207) hide show
  1. package/dist/components/atoms/CardServiceAccom/CardServiceAccom.css +2104 -0
  2. package/dist/components/atoms/CardServiceAccom/CardServiceAccom.d.ts +7 -0
  3. package/dist/components/atoms/CardServiceAccom/CardServiceAccom.js +29 -0
  4. package/dist/components/atoms/Chip/Chip.css +9 -2
  5. package/dist/components/atoms/Chip/Chip.d.ts +4 -0
  6. package/dist/components/atoms/Chip/Chip.js +4 -2
  7. package/dist/components/atoms/Icon/icons/AirIcon.d.ts +4 -0
  8. package/dist/components/atoms/Icon/icons/AirIcon.js +36 -0
  9. package/dist/components/atoms/Icon/icons/BikeIcon.d.ts +4 -0
  10. package/dist/components/atoms/Icon/icons/BikeIcon.js +36 -0
  11. package/dist/components/atoms/Icon/icons/BookingIcon.d.ts +4 -0
  12. package/dist/components/atoms/Icon/icons/BookingIcon.js +36 -0
  13. package/dist/components/atoms/Icon/icons/CarFront.d.ts +4 -0
  14. package/dist/components/atoms/Icon/icons/CarFront.js +36 -0
  15. package/dist/components/atoms/Icon/icons/CatamaranIcon.d.ts +4 -0
  16. package/dist/components/atoms/Icon/icons/CatamaranIcon.js +36 -0
  17. package/dist/components/atoms/Icon/icons/CloseCircleIcon.d.ts +4 -0
  18. package/dist/components/atoms/Icon/icons/CloseCircleIcon.js +36 -0
  19. package/dist/components/atoms/Icon/icons/Land.d.ts +4 -0
  20. package/dist/components/atoms/Icon/icons/Land.js +36 -0
  21. package/dist/components/atoms/Icon/icons/LuggageIcon.d.ts +4 -0
  22. package/dist/components/atoms/Icon/icons/LuggageIcon.js +36 -0
  23. package/dist/components/atoms/Icon/icons/SeaIcon.d.ts +4 -0
  24. package/dist/components/atoms/Icon/icons/SeaIcon.js +36 -0
  25. package/dist/components/atoms/Icon/icons/Utensils.js +1 -1
  26. package/dist/components/atoms/Icon/icons/registry.d.ts +9 -0
  27. package/dist/components/atoms/Icon/icons/registry.js +18 -0
  28. package/dist/components/molecules/ActionDropdown/ActionDropdown.css +1 -1
  29. package/dist/components/molecules/ActionDropdown/ActionDropdown.d.ts +4 -0
  30. package/dist/components/molecules/ActionDropdown/ActionDropdown.js +18 -8
  31. package/dist/components/molecules/BookingResume/BookingResume.d.ts +9 -0
  32. package/dist/components/molecules/BookingResume/BookingResume.js +25 -0
  33. package/dist/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.css +2107 -0
  34. package/dist/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.d.ts +11 -0
  35. package/dist/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.js +19 -0
  36. package/dist/components/molecules/BookingResume/ResumeAccom/ResumeAccom.css +2094 -0
  37. package/dist/components/molecules/BookingResume/ResumeAccom/ResumeAccom.d.ts +13 -0
  38. package/dist/components/molecules/BookingResume/ResumeAccom/ResumeAccom.js +26 -0
  39. package/dist/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.css +2082 -0
  40. package/dist/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.d.ts +15 -0
  41. package/dist/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.js +28 -0
  42. package/dist/components/molecules/BookingResume/ResumeOtherService.d.ts +6 -0
  43. package/dist/components/molecules/BookingResume/ResumeOtherService.js +19 -0
  44. package/dist/components/molecules/BookingResume/ResumeTransfer.d.ts +12 -0
  45. package/dist/components/molecules/BookingResume/ResumeTransfer.js +23 -0
  46. package/dist/components/molecules/BookingResume/index.d.ts +6 -0
  47. package/dist/components/molecules/BookingResume/index.js +1 -0
  48. package/dist/components/molecules/DateDisplay/DateDisplay.d.ts +2 -0
  49. package/dist/components/molecules/DateDisplay/DateDisplay.js +2 -2
  50. package/dist/components/molecules/DetailsInfo/DetailsAction.d.ts +5 -0
  51. package/dist/components/molecules/DetailsInfo/DetailsAction.js +4 -3
  52. package/dist/components/molecules/DetailsInfo/{DetailsAgency.d.ts → DetailsAgency/DetailsAgency.d.ts} +4 -0
  53. package/dist/components/molecules/DetailsInfo/{DetailsAgency.js → DetailsAgency/DetailsAgency.js} +2 -2
  54. package/dist/components/molecules/DetailsInfo/DetailsClient/DetailsClient.css +2104 -0
  55. package/dist/components/molecules/DetailsInfo/DetailsClient/DetailsClient.d.ts +13 -0
  56. package/dist/components/molecules/DetailsInfo/DetailsClient/DetailsClient.js +20 -0
  57. package/dist/components/molecules/DetailsInfo/DetailsFile.d.ts +7 -1
  58. package/dist/components/molecules/DetailsInfo/DetailsFile.js +3 -4
  59. package/dist/components/molecules/DetailsInfo/DetailsInfo.d.ts +2 -1
  60. package/dist/components/molecules/DetailsInfo/DetailsInfo.js +3 -1
  61. package/dist/components/molecules/DetailsInfo/index.d.ts +2 -1
  62. package/dist/components/molecules/GlobalAmenities/GlobalAmenities.d.ts +9 -0
  63. package/dist/components/molecules/GlobalAmenities/GlobalAmenities.js +19 -0
  64. package/dist/components/molecules/PaxDisplay/PaxDisplay.css +2104 -0
  65. package/dist/components/molecules/PaxDisplay/PaxDisplay.d.ts +7 -0
  66. package/dist/components/molecules/PaxDisplay/PaxDisplay.js +32 -0
  67. package/dist/components/molecules/ServiceInfo/ServiceInfo.css +2105 -0
  68. package/dist/components/molecules/ServiceInfo/ServiceInfo.d.ts +22 -0
  69. package/dist/components/molecules/ServiceInfo/ServiceInfo.js +38 -0
  70. package/dist/components/molecules/ServiceLanguages/ServiceLanguages.d.ts +10 -0
  71. package/dist/components/molecules/ServiceLanguages/ServiceLanguages.js +19 -0
  72. package/dist/components/molecules/ServiceLanguages/constant.d.ts +1 -0
  73. package/dist/components/molecules/ServiceLanguages/constant.js +6 -0
  74. package/dist/components/molecules/StepperTimeline/StepperTimeline.css +2151 -0
  75. package/dist/components/molecules/StepperTimeline/StepperTimeline.d.ts +23 -0
  76. package/dist/components/molecules/StepperTimeline/StepperTimeline.js +45 -0
  77. package/dist/components/molecules/TableServiceItem/RowOtherServices.js +1 -1
  78. package/dist/components/molecules/TextWithBorderBottom/TextWithBorderBottom.css +2103 -0
  79. package/dist/components/molecules/TextWithBorderBottom/TextWithBorderBottom.d.ts +4 -0
  80. package/dist/components/molecules/TextWithBorderBottom/TextWithBorderBottom.js +29 -0
  81. package/dist/components/molecules/TextWithIcon/TextWithIcon.d.ts +3 -1
  82. package/dist/components/molecules/TextWithIcon/TextWithIcon.js +2 -2
  83. package/dist/components/molecules/TooltipDisplay/TooltipDisplay.js +1 -1
  84. package/dist/components/organisms/Booking/Booking.css +2080 -0
  85. package/dist/components/organisms/Booking/Booking.d.ts +11 -0
  86. package/dist/components/organisms/Booking/Booking.js +33 -0
  87. package/dist/components/organisms/Booking/BookingDocket/BookingDocket.css +2159 -0
  88. package/dist/components/organisms/Booking/BookingDocket/BookingDocket.d.ts +13 -0
  89. package/dist/components/organisms/Booking/BookingDocket/BookingDocket.js +44 -0
  90. package/dist/components/organisms/Booking/BookingStep/BookingStep.css +2103 -0
  91. package/dist/components/organisms/Booking/BookingStep/BookingStep.d.ts +11 -0
  92. package/dist/components/organisms/Booking/BookingStep/BookingStep.js +30 -0
  93. package/dist/components/organisms/Booking/index.d.ts +3 -0
  94. package/dist/components/organisms/Booking/index.js +1 -0
  95. package/dist/components/organisms/TabCancellationPolicy/CancellationAccom.d.ts +3 -4
  96. package/dist/components/organisms/TabCancellationPolicy/CancellationAccom.js +2 -2
  97. package/dist/components/organisms/TabCancellationPolicy/HeaderAccom.d.ts +1 -1
  98. package/dist/components/organisms/TabCancellationPolicy/HeaderAccom.js +3 -9
  99. package/dist/components/organisms/TabCancellationPolicy/PolicyTransfer.js +1 -1
  100. package/dist/components/organisms/TabCancellationPolicy/TabCancellationPolicyLayout/TabCancellationPolicyLayout.css +9 -2
  101. package/dist/components/organisms/TabCancellationPolicy/TabCancellationPolicyLayout/TabCancellationPolicyLayout.d.ts +1 -1
  102. package/dist/components/organisms/TabServiceDetails/Accommodation.d.ts +26 -0
  103. package/dist/components/organisms/TabServiceDetails/Accommodation.js +46 -0
  104. package/dist/components/organisms/TabServiceDetails/DetailContentTransfer.d.ts +9 -0
  105. package/dist/components/organisms/TabServiceDetails/DetailContentTransfer.js +17 -0
  106. package/dist/components/organisms/TabServiceDetails/DetailsContentAccom.d.ts +41 -0
  107. package/dist/components/organisms/TabServiceDetails/DetailsContentAccom.js +65 -0
  108. package/dist/components/organisms/TabServiceDetails/DetailsContentExcursion.d.ts +18 -0
  109. package/dist/components/organisms/TabServiceDetails/DetailsContentExcursion.js +20 -0
  110. package/dist/components/organisms/TabServiceDetails/Excursion.d.ts +7 -0
  111. package/dist/components/organisms/TabServiceDetails/Excursion.js +29 -0
  112. package/dist/components/organisms/TabServiceDetails/TabServiceDetails.d.ts +10 -0
  113. package/dist/components/organisms/TabServiceDetails/TabServiceDetails.js +23 -0
  114. package/dist/components/organisms/TabServiceDetails/TabServiceDetailsLayout/TabServiceDetailsLayout.css +2143 -0
  115. package/dist/components/organisms/TabServiceDetails/TabServiceDetailsLayout/TabServiceDetailsLayout.d.ts +35 -0
  116. package/dist/components/organisms/TabServiceDetails/TabServiceDetailsLayout/TabServiceDetailsLayout.js +39 -0
  117. package/dist/components/organisms/TabServiceDetails/Transfer.d.ts +12 -0
  118. package/dist/components/organisms/TabServiceDetails/Transfer.js +19 -0
  119. package/dist/components/organisms/TabServiceDetails/index.d.ts +4 -0
  120. package/dist/components/organisms/TabServiceDetails/index.js +1 -0
  121. package/dist/components/organisms/Table/Table.css +56 -0
  122. package/dist/components/organisms/Table/Table.js +6 -4
  123. package/dist/components/organisms/Timeline/Timeline.js +1 -1
  124. package/dist/hooks/useStays.d.ts +1 -0
  125. package/dist/hooks/useStays.js +11 -0
  126. package/dist/index.d.ts +8 -1
  127. package/dist/index.js +8 -1
  128. package/dist/types/table/booking.types.d.ts +12 -0
  129. package/dist/types/table/detail-resume.types.d.ts +3 -1
  130. package/package.json +4 -1
  131. package/src/components/atoms/CardServiceAccom/CardServiceAccom.css +22 -0
  132. package/src/components/atoms/CardServiceAccom/CardServiceAccom.tsx +22 -0
  133. package/src/components/atoms/Chip/Chip.css +7 -2
  134. package/src/components/atoms/Chip/Chip.tsx +16 -2
  135. package/src/components/atoms/Icon/icons/AirIcon.tsx +40 -0
  136. package/src/components/atoms/Icon/icons/BikeIcon.tsx +40 -0
  137. package/src/components/atoms/Icon/icons/BookingIcon.tsx +40 -0
  138. package/src/components/atoms/Icon/icons/CarFront.tsx +44 -0
  139. package/src/components/atoms/Icon/icons/CatamaranIcon.tsx +51 -0
  140. package/src/components/atoms/Icon/icons/CloseCircleIcon.tsx +55 -0
  141. package/src/components/atoms/Icon/icons/Land.tsx +40 -0
  142. package/src/components/atoms/Icon/icons/LuggageIcon.tsx +40 -0
  143. package/src/components/atoms/Icon/icons/SeaIcon.tsx +47 -0
  144. package/src/components/atoms/Icon/icons/Utensils.tsx +11 -3
  145. package/src/components/atoms/Icon/icons/registry.tsx +18 -0
  146. package/src/components/molecules/ActionDropdown/ActionDropdown.css +1 -1
  147. package/src/components/molecules/ActionDropdown/ActionDropdown.tsx +48 -15
  148. package/src/components/molecules/BookingResume/BookingResume.tsx +16 -0
  149. package/src/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.css +28 -0
  150. package/src/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.tsx +37 -0
  151. package/src/components/molecules/BookingResume/ResumeAccom/ResumeAccom.css +12 -0
  152. package/src/components/molecules/BookingResume/ResumeAccom/ResumeAccom.tsx +63 -0
  153. package/src/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.css +5 -0
  154. package/src/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.tsx +75 -0
  155. package/src/components/molecules/BookingResume/ResumeOtherService.tsx +21 -0
  156. package/src/components/molecules/BookingResume/ResumeTransfer.tsx +49 -0
  157. package/src/components/molecules/BookingResume/index.ts +6 -0
  158. package/src/components/molecules/DateDisplay/DateDisplay.tsx +9 -5
  159. package/src/components/molecules/DetailsInfo/DetailsAction.tsx +19 -6
  160. package/src/components/molecules/DetailsInfo/{DetailsAgency.tsx → DetailsAgency/DetailsAgency.tsx} +6 -2
  161. package/src/components/molecules/DetailsInfo/DetailsClient/DetailsClient.css +10 -0
  162. package/src/components/molecules/DetailsInfo/DetailsClient/DetailsClient.tsx +56 -0
  163. package/src/components/molecules/DetailsInfo/DetailsFile.tsx +24 -9
  164. package/src/components/molecules/DetailsInfo/DetailsInfo.tsx +3 -1
  165. package/src/components/molecules/DetailsInfo/index.ts +5 -1
  166. package/src/components/molecules/GlobalAmenities/GlobalAmenities.tsx +35 -0
  167. package/src/components/molecules/PaxDisplay/PaxDisplay.css +19 -0
  168. package/src/components/molecules/PaxDisplay/PaxDisplay.tsx +59 -0
  169. package/src/components/molecules/ServiceInfo/ServiceInfo.css +25 -0
  170. package/src/components/molecules/ServiceInfo/ServiceInfo.tsx +89 -0
  171. package/src/components/molecules/ServiceLanguages/ServiceLanguages.tsx +33 -0
  172. package/src/components/molecules/ServiceLanguages/constant.ts +6 -0
  173. package/src/components/molecules/StepperTimeline/StepperTimeline.css +59 -0
  174. package/src/components/molecules/StepperTimeline/StepperTimeline.tsx +105 -0
  175. package/src/components/molecules/TableServiceItem/RowOtherServices.tsx +3 -1
  176. package/src/components/molecules/TextWithBorderBottom/TextWithBorderBottom.css +9 -0
  177. package/src/components/molecules/TextWithBorderBottom/TextWithBorderBottom.tsx +12 -0
  178. package/src/components/molecules/TextWithIcon/TextWithIcon.tsx +6 -1
  179. package/src/components/molecules/TooltipDisplay/TooltipDisplay.tsx +4 -2
  180. package/src/components/organisms/Booking/Booking.css +3 -0
  181. package/src/components/organisms/Booking/Booking.tsx +21 -0
  182. package/src/components/organisms/Booking/BookingDocket/BookingDocket.css +67 -0
  183. package/src/components/organisms/Booking/BookingDocket/BookingDocket.tsx +165 -0
  184. package/src/components/organisms/Booking/BookingStep/BookingStep.css +12 -0
  185. package/src/components/organisms/Booking/BookingStep/BookingStep.tsx +51 -0
  186. package/src/components/organisms/Booking/index.ts +3 -0
  187. package/src/components/organisms/CarBookingCard/index.ts +1 -0
  188. package/src/components/organisms/TabCancellationPolicy/CancellationAccom.tsx +5 -6
  189. package/src/components/organisms/TabCancellationPolicy/HeaderAccom.tsx +4 -10
  190. package/src/components/organisms/TabCancellationPolicy/PolicyTransfer.tsx +1 -1
  191. package/src/components/organisms/TabCancellationPolicy/TabCancellationPolicyLayout/TabCancellationPolicyLayout.css +9 -2
  192. package/src/components/organisms/TabCancellationPolicy/TabCancellationPolicyLayout/TabCancellationPolicyLayout.tsx +1 -1
  193. package/src/components/organisms/TabServiceDetails/Accommodation.tsx +45 -0
  194. package/src/components/organisms/TabServiceDetails/DetailContentTransfer.tsx +45 -0
  195. package/src/components/organisms/TabServiceDetails/DetailsContentAccom.tsx +124 -0
  196. package/src/components/organisms/TabServiceDetails/DetailsContentExcursion.tsx +65 -0
  197. package/src/components/organisms/TabServiceDetails/Excursion.tsx +20 -0
  198. package/src/components/organisms/TabServiceDetails/TabServiceDetails.tsx +13 -0
  199. package/src/components/organisms/TabServiceDetails/TabServiceDetailsLayout/TabServiceDetailsLayout.css +55 -0
  200. package/src/components/organisms/TabServiceDetails/TabServiceDetailsLayout/TabServiceDetailsLayout.tsx +82 -0
  201. package/src/components/organisms/TabServiceDetails/Transfer.tsx +34 -0
  202. package/src/components/organisms/TabServiceDetails/index.ts +5 -0
  203. package/src/components/organisms/Table/Table.css +54 -0
  204. package/src/components/organisms/Table/Table.tsx +37 -22
  205. package/src/components/organisms/Timeline/Timeline.tsx +2 -2
  206. /package/dist/components/molecules/DetailsInfo/{DetailsAgency.css → DetailsAgency/DetailsAgency.css} +0 -0
  207. /package/src/components/molecules/DetailsInfo/{DetailsAgency.css → DetailsAgency/DetailsAgency.css} +0 -0
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { IconName } from '../../../atoms/Icon/Icon';
3
+ import './TabServiceDetailsLayout.css';
4
+ export interface TabServiceDetailsLayoutProps {
5
+ /** Title of the service */
6
+ title: string;
7
+ /** Icon of the service */
8
+ icon: IconName;
9
+ /** Children of the service */
10
+ children: React.ReactNode;
11
+ /** Images of the service */
12
+ images: string[];
13
+ /** Mobile content of the service */
14
+ mobileContent?: React.ReactNode;
15
+ /** Whether the service is on request */
16
+ isOnRequest?: boolean;
17
+ }
18
+ /**
19
+ * Layout for the TabServiceDetails component.
20
+ *
21
+ * @example
22
+ * <TabServiceDetails.Layout
23
+ * title="Accommodation"
24
+ * icon="accom"
25
+ * images={['image1.jpg', 'image2.jpg', 'image3.jpg']}
26
+ * mobileContent={<div>Mobile content</div>}
27
+ * isOnRequest={true}
28
+ * >
29
+ * <div>Content</div>
30
+ * </TabServiceDetails.Layout>
31
+ *
32
+ * @param props - Props of the TabServiceDetailsLayout
33
+ * @returns The TabServiceDetailsLayout component
34
+ */
35
+ export default function TabServiceDetailsLayout(props: TabServiceDetailsLayoutProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,39 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useMobile } from '@/src/hooks/useMobile';
14
+ import { cn } from '@/src/lib/utils';
15
+ import Chip from '../../../atoms/Chip/Chip';
16
+ import TextWithIcon from '../../../molecules/TextWithIcon/TextWithIcon';
17
+ import './TabServiceDetailsLayout.css';
18
+ /**
19
+ * Layout for the TabServiceDetails component.
20
+ *
21
+ * @example
22
+ * <TabServiceDetails.Layout
23
+ * title="Accommodation"
24
+ * icon="accom"
25
+ * images={['image1.jpg', 'image2.jpg', 'image3.jpg']}
26
+ * mobileContent={<div>Mobile content</div>}
27
+ * isOnRequest={true}
28
+ * >
29
+ * <div>Content</div>
30
+ * </TabServiceDetails.Layout>
31
+ *
32
+ * @param props - Props of the TabServiceDetailsLayout
33
+ * @returns The TabServiceDetailsLayout component
34
+ */
35
+ export default function TabServiceDetailsLayout(props) {
36
+ var title = props.title, icon = props.icon, isOnRequest = props.isOnRequest, children = props.children, images = props.images, mobileContent = props.mobileContent;
37
+ var isMobile = useMobile(1280).isMobile;
38
+ return (_jsxs("div", { children: [_jsxs("div", __assign({ className: "details-service__layout" }, { children: [_jsxs(TextWithIcon, __assign({ icon: icon, color: isOnRequest ? 'yellow' : 'accent', textVariant: "bold" }, { children: [title, isOnRequest && _jsx(Chip, __assign({ color: "yellow" }, { children: "On request" }))] })), _jsxs("div", __assign({ className: "details-service__layout-flex" }, { children: [_jsxs("div", __assign({ className: "details-service__layout-flex-images" }, { children: [images[0] && (_jsx("figure", __assign({ className: cn(images.length === 1 && 'single-image') }, { children: _jsx("img", { src: images[0], alt: title, width: 400, height: 400 }) }), images[0])), images.length > 1 && (_jsx("div", __assign({ className: "details-service__layout-flex-images-grid" }, { children: images.slice(1, 3).map(function (image) { return (_jsx("figure", { children: _jsx("img", { src: image, alt: title, width: 400, height: 400 }) }, image)); }) })))] })), _jsx("div", __assign({ className: "details-service__layout-content" }, { children: _jsx("div", __assign({ className: "details-service__layout-content-body" }, { children: children })) }))] }))] })), isMobile && mobileContent] }));
39
+ }
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { TransferData } from '../TabCancellationPolicy/HeaderExcursion/HeaderTransfer';
3
+ import { DetailContentTransferProps } from './DetailContentTransfer';
4
+ export interface TransferProps {
5
+ /** Image of the transfer */
6
+ image: string;
7
+ /** Transfer data */
8
+ transferData: TransferData[];
9
+ /** Details of the transfer */
10
+ transferDetails: DetailContentTransferProps;
11
+ }
12
+ export declare const Transfer: React.FC<TransferProps>;
@@ -0,0 +1,19 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import CancellationHeader from '../TabCancellationPolicy/CancellationHeader';
14
+ import TabCancellationPolicy from '../TabCancellationPolicy/TabCancellationPolicy';
15
+ import { DetailContentTransfer, } from './DetailContentTransfer';
16
+ export var Transfer = function (props) {
17
+ var image = props.image, transferData = props.transferData, transferDetails = props.transferDetails;
18
+ return (_jsx(TabCancellationPolicy.Layout, __assign({ title: "Transfer", icon: "car", image: image, header: _jsx(CancellationHeader, { children: _jsx(CancellationHeader.Transfer, { data: transferData }) }) }, { children: _jsx(DetailContentTransfer, __assign({}, transferDetails)) })));
19
+ };
@@ -0,0 +1,4 @@
1
+ export * from './TabServiceDetails';
2
+ export type { AccommodationProps } from './Accommodation';
3
+ export type { DetailsContentExcursionProps } from './DetailsContentExcursion';
4
+ export type { TabServiceDetailsLayoutProps } from './TabServiceDetailsLayout/TabServiceDetailsLayout';
@@ -0,0 +1 @@
1
+ export * from './TabServiceDetails';
@@ -2193,6 +2193,56 @@
2193
2193
  border-bottom: none;
2194
2194
  }
2195
2195
  }
2196
+ &.table__children--visible {
2197
+ position: relative;
2198
+ }
2199
+ &.table__children--visible {
2200
+ border: 1px solid transparent;
2201
+ border-left: none;
2202
+ &::after {
2203
+ content: '';
2204
+ position: absolute;
2205
+ inset: -1px;
2206
+ pointer-events: none;
2207
+ max-width: 100%;
2208
+ background-image:
2209
+ repeating-linear-gradient(
2210
+ to right,
2211
+ var(--color-border-medium) 0,
2212
+ var(--color-border-medium) 16px,
2213
+ transparent 16px,
2214
+ transparent 32px
2215
+ ),
2216
+ repeating-linear-gradient(
2217
+ to right,
2218
+ var(--color-border-medium) 0,
2219
+ var(--color-border-medium) 16px,
2220
+ transparent 16px,
2221
+ transparent 32px
2222
+ ),
2223
+ repeating-linear-gradient(
2224
+ to bottom,
2225
+ var(--color-border-medium) 0,
2226
+ var(--color-border-medium) 16px,
2227
+ transparent 16px,
2228
+ transparent 32px
2229
+ ),
2230
+ repeating-linear-gradient(
2231
+ to bottom,
2232
+ var(--color-border-medium) 0,
2233
+ var(--color-border-medium) 16px,
2234
+ transparent 16px,
2235
+ transparent 32px
2236
+ );
2237
+ background-size:
2238
+ 100% 1px,
2239
+ 100% 1px,
2240
+ 1px 100%,
2241
+ 1px 100%;
2242
+ background-position: top, bottom, left, right;
2243
+ background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
2244
+ }
2245
+ }
2196
2246
  }
2197
2247
  .table__nested-wrapper {
2198
2248
  overflow: hidden;
@@ -2278,3 +2328,9 @@
2278
2328
  }
2279
2329
  }
2280
2330
  }
2331
+
2332
+ .table__row-with-children {
2333
+ > td {
2334
+ padding: 0;
2335
+ }
2336
+ }
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { cn } from '@/src/lib/utils';
14
14
  import { AnimatePresence, domAnimation, LazyMotion } from 'motion/react';
15
15
  import * as motion from 'motion/react-m';
@@ -83,9 +83,11 @@ export var Table = function (props) {
83
83
  'table__row-nested': (_b = row.children) === null || _b === void 0 ? void 0 : _b.length,
84
84
  'table__row-clickable': onClickRow,
85
85
  }), onClick: function (e) { return onClickRow === null || onClickRow === void 0 ? void 0 : onClickRow(e, row); } }, { children: _jsx(TableCell, { columns: columns, row: row, rowIndex: rowIndex }) })));
86
- return (_jsx(Fragment, { children: isGrouped ? (row.children && row.children.length > 0 ? (_jsx("tr", __assign({ className: "table__row-grouped" }, { children: _jsx("td", __assign({ colSpan: columns.length }, { children: _jsx(NestedContent, { isGrouped: isGrouped, rowIndex: rowIndex, columns: columns, children: row.children || [], onClickRow: onClickRow }) })) }))) : (defaultTable)) : (_jsxs(_Fragment, { children: [defaultTable, _jsx(AnimatePresence, __assign({ initial: false }, { children: hasVisibleChildren && (_jsx("tr", __assign({ className: cn('table__no-hover', {
87
- 'table__row-nested': row.children && row.children.length > 0,
88
- }) }, { children: _jsx("td", __assign({ colSpan: columns.length, className: "table__cell-nested" }, { children: _jsx(NestedContent, { rowIndex: rowIndex, columns: columns, children: row.children || [], onClickRow: onClickRow }) })) }), "nested-".concat(rowIndex))) }))] })) }, "rw-".concat(rowIndex)));
86
+ return (_jsx(Fragment, { children: isGrouped ? (row.children && row.children.length > 0 ? (_jsx("tr", __assign({ className: "table__row-grouped" }, { children: _jsx("td", __assign({ colSpan: columns.length }, { children: _jsx(NestedContent, { isGrouped: isGrouped, rowIndex: rowIndex, columns: columns, children: row.children || [], onClickRow: onClickRow }) })) }))) : (defaultTable)) : !row.children ? (defaultTable) : (_jsx("tr", __assign({ className: "table__row-with-children", onClick: function (e) { return onClickRow === null || onClickRow === void 0 ? void 0 : onClickRow(e, row); } }, { children: _jsx("td", __assign({ colSpan: columns.length, className: cn({
87
+ 'table__children--visible': hasVisibleChildren,
88
+ }) }, { children: _jsx("table", __assign({ className: "table" }, { children: _jsxs("tbody", { children: [defaultTable, _jsx(AnimatePresence, __assign({ initial: false }, { children: hasVisibleChildren && (_jsx("tr", __assign({ className: cn('table__no-hover', {
89
+ 'table__row-nested': row.children && row.children.length > 0,
90
+ }) }, { children: _jsx("td", __assign({ colSpan: columns.length, className: "table__cell-nested" }, { children: _jsx(NestedContent, { rowIndex: rowIndex, columns: columns, children: row.children || [] }) })) }), "nested-".concat(rowIndex))) }))] }) })) })) }))) }, "rw-".concat(rowIndex)));
89
91
  }) }))] })) })), hasTotal && (_jsx("div", __assign({ className: "table__total-container" }, { children: _jsx("table", __assign({ className: "table" }, { children: _jsx("tbody", __assign({ className: "table__total" }, { children: _jsxs("tr", { children: [_jsx("td", { colSpan: columns.length - 1 }), _jsx("td", __assign({ style: {
90
92
  '--last-column-width': normalizeLastColumnWidth(),
91
93
  } }, { children: _jsxs("div", __assign({ className: "relative" }, { children: [_jsxs(Text, __assign({ size: "md", variant: "bold", className: "absolute top-0 -left-3 -translate-x-full" }, { children: ["Total :", ' '] })), _jsx("div", { children: Object.entries(totalRows).map(function (_a) {
@@ -16,5 +16,5 @@ import TextWithIcon from '../../molecules/TextWithIcon/TextWithIcon';
16
16
  import TimelineItem from '../../molecules/TimelineItem/TimelineItem';
17
17
  export var Timeline = function (props) {
18
18
  var arrival = props.arrival, departure = props.departure, services = props.services, className = props.className;
19
- return (_jsxs("div", __assign({ className: cn('space-y-10', className) }, { children: [_jsxs(TextWithIcon, __assign({ icon: "arrival", color: "accent", iconSize: "lg" }, { children: ["Arrival :", ' ', _jsx(Text, __assign({ variant: "regular", size: "lg", leading: "5", color: "default", as: "span" }, { children: arrival }))] })), _jsx("div", __assign({ className: "overflow-x-auto" }, { children: _jsx("div", __assign({ className: "flex gap-x-3 pb-8 2xl:pb-0" }, { children: services.map(function (service, index) { return (_jsxs(TimelineItem, { children: [service.type === 'transfer' && (_jsx(TimelineItem.Transfer, __assign({}, service.data))), service.type === 'accommodation' && (_jsx(TimelineItem.Accommodation, __assign({}, service.data))), service.type === 'excursion' && (_jsx(TimelineItem.Excursion, __assign({}, service.data)))] }, "tm-".concat(index))); }) })) })), _jsxs(TextWithIcon, __assign({ icon: "departure", color: "accent", iconSize: "lg" }, { children: ["Departure :", ' ', _jsx(Text, __assign({ variant: "regular", size: "lg", leading: "5", color: "default", as: "span" }, { children: departure }))] }))] })));
19
+ return (_jsxs("div", __assign({ className: cn('space-y-10', className) }, { children: [_jsxs(TextWithIcon, __assign({ icon: "arrival", color: "accent", iconSize: "lg", textSize: "lg" }, { children: ["Arrival :", ' ', _jsx(Text, __assign({ variant: "regular", size: "lg", leading: "5", color: "default", as: "span" }, { children: arrival }))] })), _jsx("div", __assign({ className: "overflow-x-auto" }, { children: _jsx("div", __assign({ className: "flex gap-x-3 pb-8 2xl:pb-0" }, { children: services.map(function (service, index) { return (_jsxs(TimelineItem, { children: [service.type === 'transfer' && (_jsx(TimelineItem.Transfer, __assign({}, service.data))), service.type === 'accommodation' && (_jsx(TimelineItem.Accommodation, __assign({}, service.data))), service.type === 'excursion' && (_jsx(TimelineItem.Excursion, __assign({}, service.data)))] }, "tm-".concat(index))); }) })) })), _jsxs(TextWithIcon, __assign({ icon: "departure", color: "accent", iconSize: "lg", textSize: "lg" }, { children: ["Departure :", ' ', _jsx(Text, __assign({ variant: "regular", size: "lg", leading: "5", color: "default", as: "span" }, { children: departure }))] }))] })));
20
20
  };
@@ -0,0 +1 @@
1
+ export default function useStays(dates: string[]): number;
@@ -0,0 +1,11 @@
1
+ import { differenceInDays } from 'date-fns';
2
+ import { useMemo } from 'react';
3
+ export default function useStays(dates) {
4
+ var stay = useMemo(function () {
5
+ if (dates.length) {
6
+ return differenceInDays(dates[1], dates[0]);
7
+ }
8
+ return 0;
9
+ }, [dates]);
10
+ return stay;
11
+ }
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { default as Button } from './components/atoms/Button/Button';
2
+ export { default as CardServiceAccom } from './components/atoms/CardServiceAccom/CardServiceAccom';
2
3
  export { default as Checkbox } from './components/atoms/Checkbox/Checkbox';
3
4
  export { default as Chip } from './components/atoms/Chip/Chip';
4
5
  export { default as Divider } from './components/atoms/Divider/Divider';
@@ -12,8 +13,9 @@ export { default as SelectedValue } from './components/atoms/SelectedValue/Selec
12
13
  export { default as Slider } from './components/atoms/Slider/Slider';
13
14
  export { default as Spinner } from './components/atoms/Spinner/Spinner';
14
15
  export { Heading, Text } from './components/atoms/Typography/Typography';
15
- export { ActionDropdown, type ActionDropdownItem, } from './components/molecules/ActionDropdown/ActionDropdown';
16
16
  export { DateDisplay } from './components/molecules/DateDisplay/DateDisplay';
17
+ export { ActionDropdown, type ActionDropdownItem, } from './components/molecules/ActionDropdown/ActionDropdown';
18
+ export * from './components/molecules/BookingResume';
17
19
  export { Breadcrumbs } from './components/molecules/Breadcrumbs/Breadcrumbs';
18
20
  export { default as CalendarInput } from './components/molecules/Calendar/CalendarInput';
19
21
  export { default as TimePicker } from './components/molecules/Calendar/TimePicker';
@@ -25,12 +27,16 @@ export { default as MultiSelectDropdown } from './components/molecules/MultiSele
25
27
  export { default as Pagination } from './components/molecules/Pagination/Pagination';
26
28
  export { default as RatingTab } from './components/molecules/RatingTab/RatingTab';
27
29
  export { default as SectionTitle } from './components/molecules/SectionTitle/SectionTitle';
30
+ export { ServiceInfo } from './components/molecules/ServiceInfo/ServiceInfo';
31
+ export { ServiceLanguages } from './components/molecules/ServiceLanguages/ServiceLanguages';
28
32
  export { default as ServiceSelector } from './components/molecules/ServiceSelector/ServiceSelector';
29
33
  export { default as Stepper } from './components/molecules/Stepper/Stepper';
30
34
  export { default as TextWithIcon } from './components/molecules/TextWithIcon/TextWithIcon';
31
35
  export { default as TimelineItem } from './components/molecules/TimelineItem/TimelineItem';
32
36
  export { Illustration } from './components/atoms/Illustration/Illustration';
37
+ export { DetailsClientInfo } from './components/molecules/DetailsInfo/DetailsClient/DetailsClient';
33
38
  export { default as TableServiceItem } from './components/molecules/TableServiceItem';
39
+ export * from './components/organisms/Booking';
34
40
  export { default as CarBookingCard } from './components/organisms/CarBookingCard/CarBookingCard';
35
41
  export { CardContainer } from './components/organisms/CardContainer/CardContainer';
36
42
  export { default as DateTimePicker } from './components/organisms/DateTimePicker/DateTimePicker';
@@ -43,6 +49,7 @@ export { default as RoundTrip } from './components/organisms/RoundTrip/RoundTrip
43
49
  export { default as SearchBarTransfer } from './components/organisms/SearchBarTransfer/SearchBarTransfer';
44
50
  export * from './components/organisms/TabCancellationPolicy';
45
51
  export * from './components/organisms/Table';
52
+ export * from './components/organisms/TabServiceDetails';
46
53
  export { Timeline } from './components/organisms/Timeline/Timeline';
47
54
  export { TopNavigation } from './components/organisms/TopNavigation/TopNavigation';
48
55
  export { default as TransferLine } from './components/organisms/TransferLine/TransferLine';
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // Atoms - Base components
2
2
  export { default as Button } from './components/atoms/Button/Button';
3
+ export { default as CardServiceAccom } from './components/atoms/CardServiceAccom/CardServiceAccom';
3
4
  export { default as Checkbox } from './components/atoms/Checkbox/Checkbox';
4
5
  export { default as Chip } from './components/atoms/Chip/Chip';
5
6
  export { default as Divider } from './components/atoms/Divider/Divider';
@@ -13,9 +14,10 @@ export { default as SelectedValue } from './components/atoms/SelectedValue/Selec
13
14
  export { default as Slider } from './components/atoms/Slider/Slider';
14
15
  export { default as Spinner } from './components/atoms/Spinner/Spinner';
15
16
  export { Heading, Text } from './components/atoms/Typography/Typography';
16
- export { ActionDropdown, } from './components/molecules/ActionDropdown/ActionDropdown';
17
17
  export { DateDisplay } from './components/molecules/DateDisplay/DateDisplay';
18
18
  // Molecules - Composed components
19
+ export { ActionDropdown, } from './components/molecules/ActionDropdown/ActionDropdown';
20
+ export * from './components/molecules/BookingResume';
19
21
  export { Breadcrumbs } from './components/molecules/Breadcrumbs/Breadcrumbs';
20
22
  export { default as CalendarInput } from './components/molecules/Calendar/CalendarInput';
21
23
  export { default as TimePicker } from './components/molecules/Calendar/TimePicker';
@@ -27,13 +29,17 @@ export { default as MultiSelectDropdown } from './components/molecules/MultiSele
27
29
  export { default as Pagination } from './components/molecules/Pagination/Pagination';
28
30
  export { default as RatingTab } from './components/molecules/RatingTab/RatingTab';
29
31
  export { default as SectionTitle } from './components/molecules/SectionTitle/SectionTitle';
32
+ export { ServiceInfo } from './components/molecules/ServiceInfo/ServiceInfo';
33
+ export { ServiceLanguages } from './components/molecules/ServiceLanguages/ServiceLanguages';
30
34
  export { default as ServiceSelector } from './components/molecules/ServiceSelector/ServiceSelector';
31
35
  export { default as Stepper } from './components/molecules/Stepper/Stepper';
32
36
  export { default as TextWithIcon } from './components/molecules/TextWithIcon/TextWithIcon';
33
37
  export { default as TimelineItem } from './components/molecules/TimelineItem/TimelineItem';
34
38
  // Organisms - Complex components
35
39
  export { Illustration } from './components/atoms/Illustration/Illustration';
40
+ export { DetailsClientInfo } from './components/molecules/DetailsInfo/DetailsClient/DetailsClient';
36
41
  export { default as TableServiceItem } from './components/molecules/TableServiceItem';
42
+ export * from './components/organisms/Booking';
37
43
  export { default as CarBookingCard } from './components/organisms/CarBookingCard/CarBookingCard';
38
44
  export { CardContainer } from './components/organisms/CardContainer/CardContainer';
39
45
  export { default as DateTimePicker } from './components/organisms/DateTimePicker/DateTimePicker';
@@ -46,6 +52,7 @@ export { default as RoundTrip } from './components/organisms/RoundTrip/RoundTrip
46
52
  export { default as SearchBarTransfer } from './components/organisms/SearchBarTransfer/SearchBarTransfer';
47
53
  export * from './components/organisms/TabCancellationPolicy';
48
54
  export * from './components/organisms/Table';
55
+ export * from './components/organisms/TabServiceDetails';
49
56
  export { Timeline } from './components/organisms/Timeline/Timeline';
50
57
  export { TopNavigation } from './components/organisms/TopNavigation/TopNavigation';
51
58
  export { default as TransferLine } from './components/organisms/TransferLine/TransferLine';
@@ -14,3 +14,15 @@ export interface BookingListItem extends TableRowData<BookingListItem> {
14
14
  infant: number;
15
15
  };
16
16
  }
17
+ export interface BookingPaxAge {
18
+ age: string | number;
19
+ }
20
+ export interface BookingPax {
21
+ adult: BookingPaxAge[];
22
+ teen: BookingPaxAge[];
23
+ child: BookingPaxAge[];
24
+ infant: BookingPaxAge[];
25
+ }
26
+ export interface BookingPaxDetail {
27
+ pax: BookingPax[];
28
+ }
@@ -22,7 +22,7 @@ export interface Offer {
22
22
  OfferType: string;
23
23
  OfferDescription: string;
24
24
  }
25
- export interface Room extends TableRowData<DetailResumeItem> {
25
+ export interface RoomItem {
26
26
  RoomDetailId: number;
27
27
  Offers: Offer[];
28
28
  Mandatory: any[];
@@ -46,6 +46,8 @@ export interface Room extends TableRowData<DetailResumeItem> {
46
46
  InfantAge?: number[];
47
47
  Dates: string[];
48
48
  }
49
+ export interface Room extends TableRowData<DetailResumeItem>, RoomItem {
50
+ }
49
51
  export interface DetailResumeAccommodation extends TableRowData<DetailResumeItem>, Partial<Room> {
50
52
  Type: ServiceType;
51
53
  HotelId: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mautourco-components",
3
- "version": "0.2.17",
3
+ "version": "0.2.19",
4
4
  "private": false,
5
5
  "description": "Bibliothèque de composants Motorco pour le redesign",
6
6
  "main": "dist/index.js",
@@ -39,6 +39,8 @@
39
39
  "class-variance-authority": "^0.7.1",
40
40
  "clsx": "^2.1.1",
41
41
  "date-fns": "^4.1.0",
42
+ "flag-icons": "^7.5.0",
43
+ "lodash": "^4.17.21",
42
44
  "lucide-react": "^0.554.0",
43
45
  "motion": "^12.23.26",
44
46
  "react": "^19.1.1",
@@ -86,6 +88,7 @@
86
88
  "@storybook/addon-onboarding": "^9.1.5",
87
89
  "@storybook/react-vite": "^9.1.5",
88
90
  "@tokens-studio/sd-transforms": "^2.0.1",
91
+ "@types/lodash": "^4.17.21",
89
92
  "@types/react": "^19.1.12",
90
93
  "@types/react-dom": "^19.1.9",
91
94
  "@vitejs/plugin-react": "^5.1.1",
@@ -0,0 +1,22 @@
1
+ .card-service-accom {
2
+ @apply py-4 px-6;
3
+ border: solid 1px var(--card-color-border-default);
4
+ border-radius: var(--card-border-radius-default);
5
+ background-color: var(--card-color-background-default);
6
+ overflow: hidden;
7
+ min-height: 267px;
8
+ &.card-service-accom--border-left {
9
+ @apply relative;
10
+ border-top-left-radius: var(--border-radius-rounded-xl);
11
+ border-bottom-left-radius: var(--border-radius-rounded-xl);
12
+ &::before {
13
+ content: '';
14
+ position: absolute;
15
+ left: 0;
16
+ top: 0;
17
+ width: 9px;
18
+ height: 100%;
19
+ background-color: var(--color-elevation-brand-default);
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ import { cn } from '@/src/lib/utils';
2
+ import React from 'react';
3
+ import './CardServiceAccom.css';
4
+
5
+ export interface CardServiceAccomProps extends React.PropsWithChildren {
6
+ className?: string;
7
+ withBorderLeft?: boolean;
8
+ }
9
+
10
+ export default function CardServiceAccom(props: CardServiceAccomProps) {
11
+ const { className, withBorderLeft, ...rest } = props;
12
+ return (
13
+ <div
14
+ className={cn(
15
+ 'card-service-accom',
16
+ withBorderLeft && 'card-service-accom--border-left',
17
+ className
18
+ )}
19
+ {...rest}
20
+ />
21
+ );
22
+ }
@@ -4,7 +4,9 @@
4
4
  justify-content: center;
5
5
  gap: var(--chip-spacing-sm-gap, 4px);
6
6
  border-radius: var(--chip-border-radius-pill, 9999px);
7
- font-family: var(--font-font-family-body, "Satoshi"), "Satoshi", "Inter", "Segoe UI", "system-ui", sans-serif;
7
+ font-family:
8
+ var(--font-font-family-body, 'Satoshi'), 'Satoshi', 'Inter', 'Segoe UI', 'system-ui',
9
+ sans-serif;
8
10
  font-weight: var(--font-weight-font-medium, 500);
9
11
  line-height: calc(var(--font-leading-leading-base, 16) * 1px);
10
12
  white-space: nowrap;
@@ -137,7 +139,7 @@
137
139
 
138
140
  /* Label */
139
141
  .chip__label {
140
- display: inline-block;
142
+ @apply inline-flex items-center gap-x-1;
141
143
  }
142
144
 
143
145
  /* Clickable state */
@@ -159,3 +161,6 @@
159
161
  outline-offset: 2px;
160
162
  }
161
163
 
164
+ .chip--outline.chip--black-text {
165
+ color: var(--chip-color-neutral-outline-text, #262626);
166
+ }
@@ -23,6 +23,10 @@ export interface ChipProps {
23
23
  className?: string;
24
24
  /** Handler de clic (optionnel, rend le chip cliquable) */
25
25
  onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
26
+ /** Si le texte doit être noir */
27
+ isBlackText?: boolean;
28
+ /** Icon externe */
29
+ externalIcon?: string;
26
30
  }
27
31
 
28
32
  const Chip: React.FC<ChipProps> = ({
@@ -35,6 +39,8 @@ const Chip: React.FC<ChipProps> = ({
35
39
  trailingIcon,
36
40
  iconSize = 'sm',
37
41
  className = '',
42
+ isBlackText = false,
43
+ externalIcon,
38
44
  onClick,
39
45
  }) => {
40
46
  const baseClasses = 'chip';
@@ -42,6 +48,7 @@ const Chip: React.FC<ChipProps> = ({
42
48
  const typeClass = `chip--${type}`;
43
49
  const colorClass = `chip--${color}`;
44
50
  const clickableClass = onClick ? 'chip--clickable' : '';
51
+ const blackTextClass = isBlackText ? 'chip--black-text' : '';
45
52
 
46
53
  const chipClasses = [
47
54
  baseClasses,
@@ -49,6 +56,7 @@ const Chip: React.FC<ChipProps> = ({
49
56
  typeClass,
50
57
  colorClass,
51
58
  clickableClass,
59
+ blackTextClass,
52
60
  className,
53
61
  ]
54
62
  .filter(Boolean)
@@ -59,12 +67,19 @@ const Chip: React.FC<ChipProps> = ({
59
67
  const content = label || children;
60
68
 
61
69
  return (
62
- <div className={chipClasses} onClick={onClick} role={onClick ? 'button' : undefined} tabIndex={onClick ? 0 : undefined}>
70
+ <div
71
+ className={chipClasses}
72
+ onClick={onClick}
73
+ role={onClick ? 'button' : undefined}
74
+ tabIndex={onClick ? 0 : undefined}>
63
75
  {hasLeadingIcon && (
64
76
  <span className="chip__icon chip__icon--leading">
65
77
  <Icon name={leadingIcon!} size={iconSize} />
66
78
  </span>
67
79
  )}
80
+ {externalIcon && (
81
+ <img src={externalIcon} alt="" className="w-4 h-4 object-contain" />
82
+ )}
68
83
  <span className="chip__label">{content}</span>
69
84
  {hasTrailingIcon && (
70
85
  <span className="chip__icon chip__icon--trailing">
@@ -76,4 +91,3 @@ const Chip: React.FC<ChipProps> = ({
76
91
  };
77
92
 
78
93
  export default Chip;
79
-
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { IconBaseProps } from './registry';
3
+
4
+ const AirIcon: React.FC<IconBaseProps> = ({ size = 'md', className = '', color }) => {
5
+ const getSizeClasses = () => {
6
+ switch (size) {
7
+ case 'xs':
8
+ return 'w-3 h-3';
9
+ case 'sm':
10
+ return 'w-4 h-4';
11
+ case 'md':
12
+ return 'w-5 h-5';
13
+ case 'lg':
14
+ return 'w-6 h-6';
15
+ case 'xl':
16
+ return 'w-8 h-8';
17
+ default:
18
+ return 'w-5 h-5';
19
+ }
20
+ };
21
+
22
+ const sizeClasses = getSizeClasses();
23
+ const colorClass = color ? `text-${color}` : 'text-current';
24
+ const classes = `${sizeClasses} ${colorClass} ${className}`;
25
+
26
+ return (
27
+ <svg
28
+ className={classes}
29
+ viewBox="0 0 16 16"
30
+ fill="none"
31
+ xmlns="http://www.w3.org/2000/svg">
32
+ <path
33
+ d="M10.6611 1.66512C10.8463 1.29477 11.2966 1.14424 11.667 1.32918C12.0373 1.51436 12.1879 1.96463 12.0029 2.33504L11.5068 3.32625L11.8643 3.2618C12.2718 3.1877 12.6622 3.45876 12.7363 3.86629C12.8102 4.27371 12.5402 4.66429 12.1328 4.73836L10.668 5.00399L10.1699 6.00008L10.7959 7.25008H11.957L12.7324 6.21688C12.981 5.8856 13.4509 5.81799 13.7822 6.06649C14.1136 6.31499 14.1801 6.78493 13.9316 7.11629L13.8311 7.25008H14.665C15.0793 7.25008 15.415 7.58587 15.415 8.00008C15.415 8.4143 15.0793 8.75008 14.665 8.75008H13.8311L13.9316 8.88387C14.1801 9.21524 14.1136 9.68517 13.7822 9.93368C13.4509 10.1822 12.981 10.1146 12.7324 9.78329L11.957 8.75008H10.7959L10.1699 10.0001L10.668 10.9952L12.1328 11.2618C12.5402 11.3359 12.8102 11.7265 12.7363 12.1339C12.6668 12.516 12.3195 12.7781 11.9404 12.7481L11.8643 12.7384L11.5068 12.6729L12.0029 13.6651L12.0332 13.7354C12.1678 14.0908 12.0142 14.4974 11.667 14.671C11.2966 14.8559 10.8463 14.7054 10.6611 14.335L10.165 13.3429L10.0029 13.669L9.33203 13.3331L8.66113 12.9981L9.32617 11.6661L8.86816 10.7501H7.12891L6.66992 11.6661L7.33594 12.9981C7.52114 13.3685 7.37127 13.8187 7.00098 14.004C6.63049 14.1892 6.17938 14.0395 5.99414 13.669L5.83105 13.3429L5.33594 14.335C5.15072 14.7055 4.70054 14.8561 4.33008 14.671C3.95977 14.4858 3.8093 14.0355 3.99414 13.6651L4.48926 12.6729L4.13281 12.7384L3.99902 12.0001L3.86426 11.2618L5.32812 10.9952L5.82617 10.0001L5.20117 8.75008H4.04102L3.26562 9.78329C3.0172 10.1145 2.54717 10.1818 2.21582 9.93368C1.88454 9.68521 1.81713 9.21523 2.06543 8.88387L2.16602 8.75008H1.33203C0.917818 8.75008 0.582031 8.4143 0.582031 8.00008C0.582031 7.58587 0.917818 7.25008 1.33203 7.25008H2.16602L2.06543 7.11629C1.81713 6.78494 1.88454 6.31495 2.21582 6.06649C2.54717 5.81833 3.0172 5.88565 3.26562 6.21688L4.04102 7.25008H5.20117L5.82617 6.00008L5.32812 5.00399L3.86426 4.73836C3.45696 4.6642 3.18689 4.27362 3.26074 3.86629C3.33483 3.4588 3.72532 3.18778 4.13281 3.2618L4.48926 3.32625L3.99414 2.33504C3.8093 1.96466 3.95977 1.51434 4.33008 1.32918C4.70054 1.14404 5.15072 1.29468 5.33594 1.66512L5.83105 2.65633L5.99414 2.33114C6.17938 1.96065 6.63049 1.81093 7.00098 1.99618C7.37127 2.1815 7.52114 2.63164 7.33594 3.00204L6.66992 4.33309L7.12891 5.25008H8.86816L9.32617 4.33309L8.66113 3.00204L9.33203 2.66708L10.0029 2.33114L10.165 2.65633L10.6611 1.66512ZM10.0029 13.669C9.81769 14.0393 9.36746 14.189 8.99707 14.004C8.62663 13.8188 8.47599 13.3686 8.66113 12.9981L10.0029 13.669ZM4.13281 12.7384C3.72532 12.8124 3.33483 12.5414 3.26074 12.1339C3.18689 11.7265 3.45696 11.336 3.86426 11.2618L4.13281 12.7384ZM6.50293 8.00008L7.12891 9.25008H8.86816L9.49316 8.00008L8.86816 6.75008H7.12891L6.50293 8.00008ZM8.99707 1.99618C9.36746 1.81116 9.81769 1.96084 10.0029 2.33114L8.66113 3.00204C8.47599 2.63158 8.62663 2.1814 8.99707 1.99618Z"
34
+ fill="currentColor"
35
+ />
36
+ </svg>
37
+ );
38
+ };
39
+
40
+ export default AirIcon;
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { IconBaseProps } from './registry';
3
+
4
+ const BikeIcon: React.FC<IconBaseProps> = ({ size = 'md', className = '', color }) => {
5
+ const getSizeClasses = () => {
6
+ switch (size) {
7
+ case 'xs':
8
+ return 'w-3 h-3';
9
+ case 'sm':
10
+ return 'w-4 h-4';
11
+ case 'md':
12
+ return 'w-5 h-5';
13
+ case 'lg':
14
+ return 'w-6 h-6';
15
+ case 'xl':
16
+ return 'w-8 h-8';
17
+ default:
18
+ return 'w-5 h-5';
19
+ }
20
+ };
21
+
22
+ const sizeClasses = getSizeClasses();
23
+ const colorClass = color ? `text-${color}` : 'text-current';
24
+ const classes = `${sizeClasses} ${colorClass} ${className}`;
25
+
26
+ return (
27
+ <svg
28
+ className={classes}
29
+ viewBox="0 0 16 16"
30
+ fill="none"
31
+ xmlns="http://www.w3.org/2000/svg">
32
+ <path
33
+ d="M5.24902 11.666C5.24902 10.7916 4.53949 10.083 3.66504 10.083C2.79074 10.0832 2.08203 10.7917 2.08203 11.666C2.08203 12.5404 2.79074 13.2488 3.66504 13.249C4.53949 13.249 5.24902 12.5405 5.24902 11.666ZM13.915 11.666C13.915 10.7916 13.2065 10.083 12.332 10.083C11.4576 10.083 10.749 10.7916 10.749 11.666C10.749 12.5405 11.4576 13.249 12.332 13.249C13.2065 13.249 13.915 12.5405 13.915 11.666ZM7.24902 11.666V9.64355L5.46875 7.86328C5.31501 7.70954 5.23556 7.49617 5.25098 7.2793C5.26645 7.06252 5.37496 6.86282 5.54883 6.73242L8.21582 4.73242L8.2793 4.68945C8.43242 4.59754 8.61431 4.56331 8.79199 4.59375C8.99515 4.62856 9.17473 4.74549 9.28906 4.91699L10.4004 6.58301H11.332L11.4092 6.58691C11.7871 6.62555 12.082 6.94485 12.082 7.33301C12.0819 7.72104 11.7871 8.04051 11.4092 8.0791L11.332 8.08301H9.99902C9.74841 8.08301 9.51413 7.95745 9.375 7.74902L8.48047 6.4082L7.13965 7.41309L8.5293 8.80273C8.66975 8.94336 8.74902 9.13425 8.74902 9.33301V11.666C8.74902 12.0801 8.41309 12.4158 7.99902 12.416C7.58481 12.416 7.24902 12.0802 7.24902 11.666ZM9.99902 3.24902C9.953 3.24902 9.91504 3.28698 9.91504 3.33301L9.92188 3.36523C9.93455 3.3951 9.96454 3.41602 9.99902 3.41602C10.0333 3.41588 10.0625 3.39494 10.0752 3.36523L10.082 3.33301L10.0752 3.2998C10.0667 3.28012 10.051 3.26424 10.0312 3.25586L9.99902 3.24902ZM6.74902 11.666C6.74902 13.3689 5.36792 14.749 3.66504 14.749C1.96231 14.7488 0.582031 13.3688 0.582031 11.666C0.582031 9.96325 1.96231 8.58318 3.66504 8.58301C5.36792 8.58301 6.74902 9.96314 6.74902 11.666ZM15.415 11.666C15.415 13.3689 14.0349 14.749 12.332 14.749C10.6292 14.749 9.24902 13.3689 9.24902 11.666C9.24902 9.96314 10.6292 8.58301 12.332 8.58301C14.0349 8.58301 15.415 9.96314 15.415 11.666ZM11.415 3.33301C11.4149 4.11515 10.7812 4.74885 9.99902 4.74902C9.26551 4.74902 8.6614 4.19192 8.58887 3.47754L8.58203 3.33301L8.58887 3.1875C8.66155 2.47327 9.26562 1.91602 9.99902 1.91602L10.1436 1.92285C10.8579 1.99538 11.415 2.59949 11.415 3.33301Z"
34
+ fill="currentColor"
35
+ />
36
+ </svg>
37
+ );
38
+ };
39
+
40
+ export default BikeIcon;